栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

21年

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

21年

day8、继承
  • 1、项目名称:学生管理系统
    • 1.1、所用的主要知识点总结
    • 1.2、实现的功能
    • 1.3具体分析
    • 1.4、源码

1、项目名称:学生管理系统 1.1、所用的主要知识点总结

类、数组(存取对象)、循环、静态代码块、get/set方法

1.2、实现的功能

学生数据的增删查改。

1.3具体分析

创建三个类:学生类、存储学生类、存存类
功能分析:
显示所有学生信息:
删除学生信息:
修改学生信息
添加学生信息
退出学生管理系统

1.4、源码

1、studTest类代码

package com.qianfeng.homeword.day09;

import com.shangguigu.day13.array01.Array;

import java.sql.SQLOutput;
import java.util.Scanner;

public class StuTest {
    //定义成为全局静态属性,优先加载进内存
    public  static Scanner sc = new Scanner(System.in);
    //将学生数组对象进行调用.共用对象地址,已达到共享目的
    public  static Student[] stuArray = StudentDB.student;
    public static void main(String[] args) {
        do{
            printMenu();
            int option = sc.nextInt();
            //根据选项做对应的事情
            switch (option){
                case 1:
                    selectAll();
                    break;
                case 2:
                    deleteStudent();
                    break;
                case 3:
                    updateStudent();
                    break;
                case 4:
                    addStudent();
                    break;
                case 5:
                    System.out.println("-----感谢使用,欢迎下次再进入-----");
                    return;
                default:
                    System.out.println("输入有误");
                    break;
            }
            System.out.println("nnn");
        }while (true);
    }

    

    public static void addStudent(){
        if(stuArray[stuArray.length-1]==null){
            System.out.println("学生已经存贮满了,请删除一些在重新添加");
        }
        System.out.println("请输入学生姓名:");
        String name = sc.next();
        System.out.println("请输入学生年龄:");
        int age = sc.nextInt();
        for (int i = 0; i < stuArray.length; i++) {
            //判断如果是空的话说明是在数组对象底部
            if(stuArray[i]==null){
                stuArray[i] = new Student(name,age);
                System.out.println("添加成功");
                break;
            }
        }
    }

    

    public static void updateStudent(){
        System.out.println("请输入学生的学号:");
        int stuNum = sc.nextInt();
        Student student = getStudentById(stuNum);
        if(student==null) {
            System.out.println("系统内没有该学生或者输入的id有误");
            return;
        }else{
            System.out.println("请输入学生姓名:");
            String stuName = sc.next();
            System.out.println("请输入学生年龄:");
            int  stuAge = sc.nextInt();
            student.setName(stuName);
            student.setAge(stuAge);
            System.out.println("修改成功");
        }
    }

    

    public static void deleteStudent() {

        System.out.println("请输入stuNum:");
        int index = sc.nextInt();
        boolean of =false;
        //搜索存在索引对应数组中的索引,并返回对应索引的对象
        Student student = getStudentById(index);
        if(student==null){
            System.out.println("系统内没有该学生或者输入的id有误");
            return;
        }else {
            for (int i = 0; i < stuArray.length; i++) {
                //将每一个对象赋值给新的对象
                Student stu = stuArray[i];
                if(stu==null){
                    System.out.println("删除成功");
                    break;
                }
                //查到和搜索的index在数组中的位置,定义好替换开关
                if(stu.getStuNum()==index){
                    of = true;
                }
                //替换对应索引元素,索引对应的对象的分别向前覆盖
                if(of&&(i!=stuArray.length-1)){
                   stuArray[i] = stuArray[i+1];
                }

                //判断对象是否为最后一个
                if(i==stuArray.length-1){
                    stuArray[i] = null;
                    System.out.println("删除成功");
                }

            }
        }

    }

    

    public static Student getStudentById(int index) {
        Student student;
        for (int i = 0; i < stuArray.length; i++) {
            //先判断数组对象内是否有对象
            if(stuArray[i]==null){
               return null;
            }else if(stuArray[i].getStuNum()==index) {
                //有对象的话,就返该索引该学生对应的对象
                return stuArray[i];
            }
        }
        return null;
    }

    
    private static void selectAll() {
        //遍历循环,输出所有的在数组内学生的信息
        for (int i = 0; i < stuArray.length; i++) {
            //判断对象是否为空,如果为空的,说明已经遍历所有的对象了
            if (stuArray[i]!=null){
                System.out.println(stuArray[i]);
            }else {
                break;
            }
        }

    }




    
    private static void printMenu() {
        System.out.println("-----欢迎来到您的备学生管理系统----");
        System.out.println("-----1.展示所有学生管理的信息----");
        System.out.println("-----2.删除学生管理信息----");
        System.out.println("-----3.修改学生管理信息----");
        System.out.println("-----4.添加学生管理信息----");
        System.out.println("-----5.退出系统----");
    }
}

2、StudentDB类代码

package com.qianfeng.homeword.day09;

public class StudentDB {
    //定义100个存储StudentDB[] 对象的数组
    public static Student[] student = new Student[100];
    //静态代码块初始化部分
    static {
        student[0] = new Student("张三",11);
        student[1] = new Student("李四",22);
        student[2] = new Student("王五",31);
        student[3] = new Student("赵六",44);
        student[4] = new Student("李狗",11);
        student[5] = new Student("刘蛋",14);
    }
}


3、Student类代码

package com.qianfeng.homeword.day09;

public class Student {
    private String name;
    private int age;
    private int stuNum = 1;
    //自增用,设为静态变量这样每一个stuNum都是唯一的
    private static int addcount = 0;

    public Student() {
        this.stuNum = ++addcount;
    }

    public int getStuNum() {
        return stuNum;
    }

    public void setStuNum(int stuNum) {
        this.stuNum = stuNum;
    }

    public Student(String name, int age) {
        //调用无参的构造方法,使stuNum自增
        this();
        this.name = name;
        this.age = age;
    }


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + ''' +
                ", age=" + age +
                ", stuNum=" + stuNum +
                '}';
    }
}

4、

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/632371.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号