写一个学生管理系统

178 阅读3分钟

通常我们在做一个项目的时候,甲方是不会只对我们口头阐述他们想要什么,而是会给一个需求文档。例如

需求:

采取控制台的方式去书写学生管理系统

分析:

初始菜单:

-------------欢迎来到xxxx学生管理系统--------------”
     "1:添加学生"
     "2.删除学生"
     "3.修改学生"
     "4.查询学生"
     "5.退出"
     "请输入您的选择"

学生类:

属性:id、姓名、年龄、家庭住址

添加功能:

键盘录入每一个学生的信息并添加,需要满足以下要求:

  • id唯一

删除功能:

键盘录入要删除的学生id,需要满足以下要求

  • id存在删除
  • id不存在,需要提示不存在,并回到初始菜单

修改功能

键盘录入要修改的学生id,需要满足以下要求

  • id存在,继续录入其他信息
  • id不存在,需要提示不存在,并回到初始菜单

查询功能

打印所有的学生信息,需要满足以下要求

  • 但如果没有,提示:无当前学生信息,请添加后再查询

  • 如果有,需要按以下格式输出

      id     姓名    年龄   家庭住址 
      xxx    xxx     xxx    xxxx
    

首先我们可以先从最简单的添加学生入手 我们先创建一个学生类,搞一个标准的JavaBean类,将需要的id,姓名,年龄和家庭住址放入。

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

    public Student() {
    }

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

    public String getName() {
        return name;
    }

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

    public String getId() {
        return id;
    }

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

    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 static void main(String[] args) {

    // 先开始的时候创建一个集合,用来之后存储所输入的学生信息
    ArrayList<Student> stu = new ArrayList<>();

   Loop: while (true) {
        System.out.println("-------欢迎来到xxx学生管理系统-------");
        System.out.println("1.添加学生");
        System.out.println("2.删除学生");
        System.out.println("3.修改学生");
        System.out.println("4.查询学生");
        System.out.println("5.退出");
        System.out.println("请输入您的选择");
        Scanner sc = new Scanner(System.in);
        int choose = sc.nextInt();
        switch(choose){
            case 1:{
                add(stu);
                break;
            }
            case 2:{
                del(stu);
                break;
            }
            case 3:{
                change(stu);
                break;
            }
            case 4:{
                reserch(stu);
                break;
            }
            case 5:{
                break Loop;
            }
            default:
                System.out.println("没有这个选项");
        }
    }
}
public static ArrayList<Student> add(ArrayList<Student> stu){
    System.out.println("添加学生");
    System.out.println("请输入学生信息");
    Scanner sc = new Scanner(System.in);
    while(true){
        System.out.println("请添加学生的名字");
        String name = sc.next();
        System.out.println("请添加学生的id");
        String id = sc.next();
        System.out.println("请添加学生的年龄");
        String age = sc.next();
        System.out.println("请添加学生的住址");
        String address = sc.next();

        //这边创建一个学生变量接收
        Student s = new Student(name,id,age,address);

        //把学生对象添加到集合当中
        stu.add(s);
        if(stu.size() == 1){
            System.out.println("添加成功");
            return stu;
        }
        //用for循环寻找是否重复
            for (int i = 0; i < stu.size(); i++) {
                if(stu.get(i).getId().equals(id)){
                    System.out.println("id不唯一,请重新输入");
                    break;
                }else{
                    System.out.println("添加成功");
                    return stu;
                }
            }
    }
}

而后我们只要再将删除,修改,查询按需求加入到代码中即可实现一个学会生管理系统的基本制作。