十四、ArrayList实现学生管理系统

学生管理系统
案例需求**

​ 针对目前我们的所学内容,完成一个综合案例:学生管理系统!该系统主要功能如下:

​ 添加学生:通过键盘录入学生信息,添加到集合中

​ 删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除

​ 修改学生:通过键盘录入要修改学生的学号,将该学生对象其他信息进行修改

​ 查看学生:将集合中的学生对象信息进行展示

​ 退出系统:结束程序

注意:每个操作都判断集合内是否存在

主类

public class App {
    public static void main(String[] args) {
        new MainUi().login();
    }
}

学生类

public class Student {
    //学号
    private String sid;
    //姓名
    private String name;
    //年龄
    private String age;
    //居住地
    private String address;


    public Student() {
        super();
    }

    public Student(String sid, String name, String age, String address) {
        this.sid = sid;
        this.name = name;
        this.age = age;
        this.address = address;
    }

    public String getSid() {
        return sid;
    }

    public void setSid(String sid) {
        this.sid = sid;
    }

    public String getName() {
        return name;
    }

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

    public String getAge() {
        return age;
    }

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

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }


    public String toString() {
        return "学号:" + this.sid + "\t" + "姓名:" + this.name + "\t" + "年龄:" + this.age + "\t" + "地址:" + this.address;
    }
}

学生dao 类 (dao datebase access object)

public class StudentDao {

    private ArrayList list = new ArrayList<>();


    //增
    public void addStu(String sid, String name, String age, String address) {
        Student stu = new Student(sid, name, age, address);
            list.add(stu);
            System.out.println(stu.toString() + "\t添加成功\n");
    }


    //删
    public void delStu(String sid) {
            int i = isExist(sid);
            Student stu = list.remove(i);
            System.out.println(stu.toString() + "\t已被删除\n");

    }

    //改
    public void modStu(String sid, String name, String age, String address) {
            int i = isExist(sid);
            list.set(i, new Student(sid, name, age, address));
            System.out.println("已修改为\n" + list.get(i).toString() + "\n");
    }


    //查
    public Student searchStu(String sid) {
             int i = isExist(sid);
            System.out.println("\t查询成功\n");
            return list.get(i);
    }

    //列出全部
    public void listAll() {
        if(list.size()>0) {
            for (Student stu : list) {
                System.out.println(stu.toString() + "\n");

            }

        }else {
            System.out.println("当前学生数量为0!!!");
        }

    }


    //显示学生总数
    public void showSize() {
        System.out.println("【当前学生总数为:" + list.size() + "】\r\n");

    }


    //判断学号是否存在   存在返回索引 不存在返回-1
    public int isExist(String sid) {
        for (int i = 0; i < list.size(); i++) {
            if (sid.equals(list.get(i).getSid())) {
                return i;
            }
        }
        return -1;
    }


}

界面

public class MainUi {
    //学号
    private String sid;
    //姓名
    private String name;
    //年龄
    private String age;
    //居住地
    private String address;

    private StudentDao stuDao = new StudentDao();


    public void login() {
        Scanner sc = new Scanner(System.in);

        while (true) {
            System.out.println("\n【==================欢迎使用学生管理系统====================】");

            System.out.print("\n【菜单: 1:添加  2:删除  3:修改  4:查找  5:显示全部信息  0:退出】\t");
            stuDao.showSize();
            int i = sc.nextInt();
            //退出
            if (i == 0) {
                System.out.println("【=================谢谢使用,再见=================】");
                System.exit(0);
            }

            //添加
            if (i == 1) {
                System.out.println("开始添加学生");
                System.out.println("请输入学号:");
                sid = sc.next();
                int p=stuDao.isExist(sid);
                if(p==-1){
                    System.out.println("请输入姓名:");
                    name = sc.next();
                    System.out.println("请输入年龄:");
                    age = sc.next();
                    System.out.println("请输入地址:");
                    address = sc.next();
                    stuDao.addStu(sid, name, age, address);
                }else {
                    System.out.println("学号已存在!");
                }

            }


            //删除
            if (i == 2) {
                System.out.println("开始删除学生");
                System.out.println("请输入学号:");
                String sid = sc.next();
                int p=stuDao.isExist(sid);
                if(p>=0) {
                    stuDao.delStu(sid);
                }else {
                    System.out.println("学号不存在!");
                }
            }

            //修改
            if (i == 3) {
                System.out.println("开始修改学生");
                System.out.println("请输入学号:");
                sid = sc.next();
                int p=stuDao.isExist(sid);
                if(p>=0){
                    System.out.println("请输入新的姓名:");
                    name = sc.next();
                    System.out.println("请输入新的年龄:");
                    age = sc.next();
                    System.out.println("请输入新的地址:");
                    address = sc.next();
                    stuDao.modStu(sid, name, age, address);
                }else {
                    System.out.println("学号不存在!");
                }



            }


            //查询
            if (i == 4) {
                System.out.println("开始查询学生");
                System.out.println("请输入学号:");
                String sid = sc.next();
                int p=stuDao.isExist(sid);
                if(p>=0) {
                    System.out.println(stuDao.searchStu(sid).toString());
                }else {
                    System.out.println("学号不存在!");
                }
            }

            if (i == 5) {

                    System.out.println("全部学生信息如下");
                    stuDao.listAll();

            }


        }


    }


}

你可能感兴趣的:(JavaSE基础知识)