简单学生管理系统

1. 学生类

包含四个属性,学号、姓名、年龄及地址。类中包含一个无参构造、一个有参构造以及各属性的 get、set 方法。

package com.zxe;

public class Student {
    
    
    private String id;
    private String name;
    private String age;
    private String address;

    public Student() {
    
    }

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

    public void setId(String id) {
    
    
        this.id = id;
    }

    public String getId() {
    
    
        return id;
    }

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

    public String getName() {
    
    
        return name;
    }

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

    public String getAge() {
    
    
        return age;
    }

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

    public String getAddress() {
    
    
        return address;
    }
}

2. 学生管理类

① 这里 psvm 直接帮我们生成 main 方法;
② 主函数里用输出语句打印出主界面;
③ 用户自由选择要进行的操作,程序根据键盘录入的数据做出下一步判断,所以我们用 switch 对键盘录入的选项编号进行一个判断;
④ 不同的选项对应不同的功能,包括添加、删除、修改、查看、退出等功能,我们可以把这些不同的功能模块都封装在不同的方法里,需要时直接调用即可;
⑤ 在完成一次操作后,我们希望它能够再次返回主界面,以供下一次操作,这里我们通过死循环 while(true) 来实现,这样程序就不会退出来,一直运行;
⑥ 其中一个功能是退出功能,这个如何实现呢?直接使用语句 System.exit(0) 退出系统;
⑦ 当用户输入的编号非系统所给选项时,要给出提示,其他情况用 default 完成;
⑧ 各个功能模块所对应的方法,因为涉及到增删改查,所以都需要用到集合,公共部分为减少代码量,我们直接在主函数 main 里面给出集合的创建;
⑨ 这里需要注意的是,创建集合时不要写在 while(true) 里面,否则所做修改将不会保存,即集合永远为空;
⑩ 根据学号对学生进行修改及删除操作时,我们需要拿键盘录入的学号与所有学生的学号进行比对,只有内容一致才可进行改动,因为 String 是引用类型,切忌不可直接通过双等号进行字符串内容的比较,而要使用 equal() 方法来实现。

package com.zxe;

import java.util.ArrayList;
import java.util.Scanner;

public class StudentManager {
    
    
    public static void main(String[] args) {
    
    

        ArrayList<Student> array = new ArrayList<Student>();

        while (true) {
    
    
            System.out.println("———————————— 欢迎来到学生管理系统 ————————————");
            System.out.println();
            System.out.println("1.添加学生\n2.删除学生\n3.修改学生\n4.查看所有学生\n5.退出");
            System.out.println("\n请输入你的选择:\n");
            Scanner sc = new Scanner(System.in);
            int x = sc.nextInt();

            switch (x) {
    
    
                case 1:
                    addStudent(array);
                    break;
                case 2:
                    deleteStudent(array);
                    break;
                case 3:
                    setStudent(array);
                    break;
                case 4:
                    allStudent(array);
                    break;
                case 5:
                    System.out.println("谢谢使用!\n");
                    System.exit(0);
                default:
                    System.out.println("请输入正确的选项!\n");
            }

        }
    }

    public static void addStudent(ArrayList<Student> array) {
    
    
        Scanner s = new Scanner(System.in);
        System.out.println("请输入学生学号:");
        String id = s.nextLine();
        System.out.println("请输入学生姓名:");
        String name = s.nextLine();
        System.out.println("请输入学生年龄:");
        String age = s.nextLine();
        System.out.println("请输入学生地址:");
        String address = s.nextLine();
        Student student = new Student();
        student.setId(id);
        student.setName(name);
        student.setAge(age);
        student.setAddress(address);
        array.add(student);
        System.out.println("添加成功!\n");
    }

    public static void deleteStudent(ArrayList<Student> array) {
    
    
        Scanner s = new Scanner(System.in);
        System.out.println("请输入要删除的学生学号:");
        String id = s.nextLine();
        for (int i = 0; i < array.size(); i++) {
    
    
            Student student = array.get(i);
            if ((i == array.size() - 1) && student.getId().equals(id) == false) {
    
    
                System.out.println("删除失败,该学生不存在!\n");
            } else {
    
    
                if (student.getId().equals(id)) {
    
    
                    array.remove(i);
                    System.out.println("删除成功!\n");
                    break;
                }
            }
        }
    }

    public static void setStudent(ArrayList<Student> array) {
    
    
        Scanner s = new Scanner(System.in);
        System.out.println("请输入要修改信息学生的学号:");
        String id = s.nextLine();
        System.out.println("请输入修改后的姓名:");
        String name = s.nextLine();
        System.out.println("请输入修改后的年龄:");
        String age = s.nextLine();
        System.out.println("请输入修改后的地址:");
        String address = s.nextLine();
        Student student = new Student();
        student.setId(id);
        student.setName(name);
        student.setAge(age);
        student.setAddress(address);
        for (int i = 0; i < array.size(); i++) {
    
    
            Student stu = array.get(i);
            if ((i == array.size() - 1) && stu.getId().equals(id) == false) {
    
    
                System.out.println("修改失败,该学生不存在!\n");
            } else {
    
    
                if (stu.getId().equals(id)) {
    
    
                    array.set(i, student);
                    System.out.println("修改成功!\n");
                    break;
                }
            }
        }
    }

    public static void allStudent(ArrayList<Student> array) {
    
    
        System.out.println("全部学生信息如下:\n");
        System.out.println("学号\t姓名\t年龄\t地址\n");
        for (int i = 0; i < array.size(); i++) {
    
    
            Student student = array.get(i);
            System.out.println(student.getId() + "\t    " + student.getName() + "\t    " + student.getAge() + "\t    " + student.getAddress() + "\n");
        }
    }
}


3. 运行结果

① 添加学生

在这里插入图片描述

② 查看所有学生

在这里插入图片描述

③ 修改学生

在这里插入图片描述

④ 删除学生

在这里插入图片描述

在这里插入图片描述

⑤ 退出

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_52861684/article/details/129147746