Java Practical Student Management System (Tag 8)

1. Definieren Sie die Schülerklasse

学生类:
		Student
成员变量:
		学号:id
		姓名:name
		年龄:age
		生日:birthday
构造方法:
		无参构造
		带四个参数的构造
成员方法:
		每个成员呢变量对应给出get/set方法

Lassen Sie es uns unten implementieren:

public class StudentManger {
    
    
    private String sid; //学号
    private String name; //姓名
    private int age; //年龄
    private String birthday; //生日

    public StudentManger() {
    
    
    }

    public StudentManger(String sid, String name, int age, String birthday) {
    
    
        this.sid = sid;
        this.name = name;
        this.age = age;
        this.birthday = birthday;
    }

    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 int getAge() {
    
    
        return age;
    }

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

    public String getBirthday() {
    
    
        return birthday;
    }

    public void setBirthday(String birthday) {
    
    
        this.birthday = birthday;
    }
}

2. Vorbereitung der Hauptschnittstelle

思路:
		1.用输出语句完成主界面的编写
		2.用Scanner实现键盘录入数据
		3.用switch语句完成操作的选择
		4.用循环完成再次回到主界面

Lassen Sie es uns unten implementieren:

public class Manager {
    
    
    public static void main(String[] args) {
    
    
        flag:
        while (true){
    
    
            // 搭建一个主界面
            Scanner sc = new Scanner(System.in);
            System.out.println("----欢迎来到学生管理系统------");
            System.out.println("1 添加学生");
            System.out.println("2 删除学生");
            System.out.println("3 修改学生");
            System.out.println("4 查看所有学生");
            System.out.println("5 退出");
            System.out.println("请输入你的选择");

            String choice = sc.next();

            /*
            这里通过Switch语句进行流程的选择
            */
            switch (choice){
    
    
                case "1":
                   // System.out.println("添加学生");
                    addStudent();
                    break;
                case "2":
                    System.out.println("删除学生");
                    break;
                case "3":
                    System.out.println("修改学生");
                    break;
                case "4":
                    System.out.println("查看所有学生");
                    break;
                case "5":
                    System.out.println("感谢你的使用");
                    break flag;
                default:
                    System.out.println("你输入的有误!");
                    break;
            }
        }

    }

3. Fügen Sie das Code-Schreiben der Schüler hinzu

思路:
		1.用键盘录入选择添加学生
		2.定义一个方法,用于添加学生
		     (1).显示提示信息,提示要输入何种信息
		     (2).键盘录入学生对象所需要的数据
		     (3).创建学生对象,把键盘录入的数据赋值给学生对象的成员bianl
		     (4).将学生对象添加到集合中(保存)
		     (5).给出添加成功提示
		3.调用方法.

Lassen Sie es uns unten implementieren:

    /*
    这里用来进行添加学生的模块
    */
    public static void addStudent(ArrayList<StudentManger> list) {
    
    
        Scanner sc = new Scanner(System.in);
        //1.给出录入的提示信息
        System.out.println("请输入学号:");
        String sid = sc.next();
        System.out.println("请输入姓名:");
        String name = sc.next();
        System.out.println("请输入年龄:");
        int age = sc.nextInt();
        System.out.println("请输入生日:");
        String birthday = sc.next();
        //2.将键盘录入的信息封装为学生对象
        StudentManger stu = new StudentManger(sid,name,age,birthday);
        //3.将封装好的学生对象,添加到集合容器当中
        list.add(stu);
        //4.给出添加成功的提示信息
        System.out.println("添加成功");
    }

4. Sehen Sie sich das Code-Schreiben der Schüler an

思路:
		1.用键盘录入选择查看所有学生信息
		2.定义一个方法,用于查看学生信息
			(1).判断集合中是否有数据,如果没有显示提示信息
			(2).显示表头信息
			(3).将集合中数据取出按照对应格式显示学生信息,年龄显示补充"岁".
		3.调用方法.

Lassen Sie es uns unten implementieren:

    // 查询学生的方法
    public static void queryStudent(ArrayList<StudentManger> list) {
    
    
        //1.判断集合中是否存在数据,如果不存在直接给出提示
        if (list.size() == 0){
    
    
            System.out.println("无信息,请添加后再重新查询");
            return;
        }
        //2.存在:展示表头数据
        System.out.println("学号\t姓名\t年龄\t生日");
        //3.遍历集合,获取每一个学生对象的信息,打印在控制台
        for (int i = 0; i < list.size(); i++) {
    
    
            StudentManger stu = list.get(i);
            System.out.println(stu.getSid() + "\t" + stu.getName() + "\t" +stu.getAge() + "\t" +stu.getBirthday());
        }
    }

5. Löschen Sie das Code-Schreiben der Schüler

思路:
		1.用键盘录入选择删除学生信息
		2.定义一个方法,用于删除学生信息
			(1).显示提示信息
			(2).键盘录入要删除的学生学号
			(3).调用getindex方法,查找该学号在集合中的索引
			(4.)如果索引为-1,提示信息不存在
			(5.)如果索引不是-1,调用remove方法删除并提示删除成功
		3.调用方法
    // getIndex方法,查找学号在集合中的位置
    public static int getIndex(ArrayList<StudentManger> list,String sid){
    
    
        //1.假设传入的学号,在集合中不存在
        int index = -1;
        // 2.遍历集合,获取每一个学生对象,准备进行查找
        for (int i = 0; i < list.size(); i++) {
    
    
            StudentManger stu = list.get(i);
            //3.获取每一个学生对象的学号
            String id = stu.getSid();
            //4.使用获取出的学生学号,和传入的学号(查找的学号)进行比对
            if(id.equals(sid)){
    
    
                //存在,让index变量记录正确的索引位置
                index = i;
            }
        }
        return index;
    }
    // 这里是删除学生信息的方法
    public static void deleteStudent(ArrayList<StudentManger> list) {
    
    
        // 1.给出提示信息,请输入你要删除的学号
        System.out.println("请输入你要删除的学生学号:");
        //2.键盘接收要删除的学号
        Scanner sc = new Scanner(System.in);
        String deleteSid = sc.next();
        //3.调用getIndex方法,查找该学号在集合中出现的索引位置
        int index = getIndex(list,deleteSid);
        //4.根据索引判断,学号在集合中是否存在
        if (index == -1){
    
    
            // 不存在:给出提示
            System.out.println("查无信息,请重新输入");
        }else{
    
    
            // 存在:删除
            list.remove(index);
            System.out.println("删除成功");
        }
    }

6. Ändern Sie das Code-Schreiben der Schüler

思路:
	1.用键盘录入选择修改学生信息
	2.定义一个方法,用于修改学生信息
		(1).显示提示信息
		(2).键盘录入要修改的学生学号
		(3)调用getIndex方法,查找该学号在集合中的索引你
		(4).如果索引为-1,提示信息不存在
		(5).如果索引不是-1,键盘录入要修改的学生信息
		(6).集合修改对应的学生信息
		(7).给出修改成功提示
	3.调用方法

Lassen Sie es uns unten implementieren:

    //这里是修改学生信息方法
    public static void updateStudent(ArrayList<StudentManger> list) {
    
    
        System.out.println("请你输入要修改的学生学号");
        Scanner sc = new Scanner(System.in);
        String updateSid = sc.next();
        //3.调用getIndex方法,查找该学号在集合中出现的索引位置
        int index = getIndex(list,updateSid);
        //4.根据索引判断,学号在集合中是否存在
        if (index == -1){
    
    
            // 不存在:给出提示
            System.out.println("查无信息,请重新输入");
        }else{
    
    
            // 存在:接受新的学生信息
            System.out.println("请输入新的学生姓名:");
            String name = sc.next();
            System.out.println("请输入新的学生年龄:");
            int age = sc.nextInt();
            System.out.println("请输入新的学生生日:");
            String birthday = sc.next();
            // 封装为新的学生对象
            StudentManger stu = new StudentManger(updateSid,name,age,birthday);
            // 调用集合的set方法,完成修改
            list.set(index,stu);
            System.out.println("修改成功!");
        }
    }

7. Lösen Sie das Problem des Hinzufügens doppelter Studentennummern

思路:
		1.在添加学生录入学号后,调用getIndex方法
		2.根据方法的返回值,判断学号是否存在
		     返回值为-1:不存在,可以存储
		     返回值为正确索引:存在,给出提示,重新接受信息

Lassen Sie es uns unten implementieren:

        Scanner sc = new Scanner(System.in);
        //1.给出录入的提示信息

        String sid;

        while (true){
    
    
            System.out.println("请输入学号:");
            sid = sc.next();
            int index = getIndex(list,sid);
            if (index == -1){
    
    
                //sid不存在,学号可以使用
                break;
            }
        }

8. Systemtests

我们依次对添加学生,查看学生,修改学生,删除学生,退出进行测试
----欢迎来到学生管理系统------
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择
1
请输入学号:
基础001
请输入学号:
基础001
请输入姓名:
老王
请输入年龄:
18
请输入生日:
2000-11-11
添加成功
----欢迎来到学生管理系统------
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择
4
学号	姓名	年龄	生日
基础001	老王	18	2000-11-11
----欢迎来到学生管理系统------
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择
3
请你输入要修改的学生学号
基础001
请输入新的学生姓名:
老李
请输入新的学生年龄:
19
请输入新的学生生日:
2000-2-2
修改成功!
----欢迎来到学生管理系统------
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择
4
学号	姓名	年龄	生日
基础001	老李	19	2000-2-2
----欢迎来到学生管理系统------
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择
2
请输入你要删除的学生学号:
基础001
删除成功
----欢迎来到学生管理系统------
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择
4
无信息,请添加后再重新查询
----欢迎来到学生管理系统------
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择
5
感谢你的使用

Process finished with exit code 0

9.Code

1.这是封装对象的全部代码
public class StudentManger {
    
    
    private String sid; //学号
    private String name; //姓名
    private int age; //年龄
    private String birthday; //生日

    public StudentManger() {
    
    
    }

    public StudentManger(String sid, String name, int age, String birthday) {
    
    
        this.sid = sid;
        this.name = name;
        this.age = age;
        this.birthday = birthday;
    }

    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 int getAge() {
    
    
        return age;
    }

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

    public String getBirthday() {
    
    
        return birthday;
    }

    public void setBirthday(String birthday) {
    
    
        this.birthday = birthday;
    }
}

2.这里是main主函数的所有代码

import java.util.ArrayList;

import java.util.Scanner;

public class Manager {
    
    
    public static void main(String[] args) {
    
    
        ArrayList<StudentManger> list = new ArrayList<>();

        flag:
        while (true){
    
    
            // 搭建一个主界面
            Scanner sc = new Scanner(System.in);
            System.out.println("----欢迎来到学生管理系统------");
            System.out.println("1 添加学生");
            System.out.println("2 删除学生");
            System.out.println("3 修改学生");
            System.out.println("4 查看所有学生");
            System.out.println("5 退出");
            System.out.println("请输入你的选择");

            String choice = sc.next();

            /*
            这里通过Switch语句进行流程的选择
            */
            switch (choice){
    
    
                case "1":
                   // System.out.println("添加学生");
                    addStudent(list);
                    break;
                case "2":
                    //System.out.println("删除学生");
                    deleteStudent(list);
                    break;
                case "3":
                    //System.out.println("修改学生");
                    updateStudent(list);
                    break;
                case "4":
                   // System.out.println("查看所有学生");
                    queryStudent(list);
                    break;
                case "5":
                    System.out.println("感谢你的使用");
                    break flag;
                default:
                    System.out.println("你输入的有误!");
                    break;
            }
        }

    }

    //这里是修改学生信息方法
    public static void updateStudent(ArrayList<StudentManger> list) {
    
    
        System.out.println("请你输入要修改的学生学号");
        Scanner sc = new Scanner(System.in);
        String updateSid = sc.next();
        //3.调用getIndex方法,查找该学号在集合中出现的索引位置
        int index = getIndex(list,updateSid);
        //4.根据索引判断,学号在集合中是否存在
        if (index == -1){
    
    
            // 不存在:给出提示
            System.out.println("查无信息,请重新输入");
        }else{
    
    
            // 存在:接受新的学生信息
            System.out.println("请输入新的学生姓名:");
            String name = sc.next();
            System.out.println("请输入新的学生年龄:");
            int age = sc.nextInt();
            System.out.println("请输入新的学生生日:");
            String birthday = sc.next();
            // 封装为新的学生对象
            StudentManger stu = new StudentManger(updateSid,name,age,birthday);
            // 调用集合的set方法,完成修改
            list.set(index,stu);
            System.out.println("修改成功!");
        }
    }

    public static void deleteStudent(ArrayList<StudentManger> list) {
    
    
        // 1.给出提示信息,请输入你要删除的学号
        System.out.println("请输入你要删除的学生学号:");
        //2.键盘接收要删除的学号
        Scanner sc = new Scanner(System.in);
        String deleteSid = sc.next();
        //3.调用getIndex方法,查找该学号在集合中出现的索引位置
        int index = getIndex(list,deleteSid);
        //4.根据索引判断,学号在集合中是否存在
        if (index == -1){
    
    
            // 不存在:给出提示
            System.out.println("查无信息,请重新输入");
        }else{
    
    
            // 存在:删除
            list.remove(index);
            System.out.println("删除成功");
        }
    }

    // 查询学生的方法
    public static void queryStudent(ArrayList<StudentManger> list) {
    
    
        //1.判断集合中是否存在数据,如果不存在直接给出提示
        if (list.size() == 0){
    
    
            System.out.println("无信息,请添加后再重新查询");
            return;
        }
        //2.存在:展示表头数据
        System.out.println("学号\t姓名\t年龄\t生日");
        //3.遍历集合,获取每一个学生对象的信息,打印在控制台
        for (int i = 0; i < list.size(); i++) {
    
    
            StudentManger stu = list.get(i);
            System.out.println(stu.getSid() + "\t" + stu.getName() + "\t" +stu.getAge() + "\t" +stu.getBirthday());
        }
    }

    public static int getIndex(ArrayList<StudentManger> list,String sid){
    
    
        //1.假设传入的学号,在集合中不存在
        int index = -1;
        // 2.遍历集合,获取每一个学生对象,准备进行查找
        for (int i = 0; i < list.size(); i++) {
    
    
            StudentManger stu = list.get(i);
            //3.获取每一个学生对象的学号
            String id = stu.getSid();
            //4.使用获取出的学生学号,和传入的学号(查找的学号)进行比对
            if(id.equals(sid)){
    
    
                //存在,让index变量记录正确的索引位置
                index = i;
            }
        }
        return index;
    }

    /*
    这里用来进行添加学生的模块
    */
    public static void addStudent(ArrayList<StudentManger> list) {
    
    
        Scanner sc = new Scanner(System.in);
        //1.给出录入的提示信息
        String sid;
        while (true){
    
    
            System.out.println("请输入学号:");
            sid = sc.next();
            int index = getIndex(list, sid);
            if (index == -1){
    
    
                //sid不存在,学号可以使用
                break;
            }
        }
        System.out.println("请输入学号:");
         sid = sc.next();
        System.out.println("请输入姓名:");
        String name = sc.next();
        System.out.println("请输入年龄:");
        int age = sc.nextInt();
        System.out.println("请输入生日:");
        String birthday = sc.next();
        //2.将键盘录入的信息封装为学生对象
        StudentManger stu = new StudentManger(sid,name,age,birthday);
        //3.将封装好的学生对象,添加到集合容器当中
        list.add(stu);
        //4.给出添加成功的提示信息
        System.out.println("添加成功");
    }

}

Supongo que te gusta

Origin blog.csdn.net/tyloonulinuli/article/details/121728680
Recomendado
Clasificación