用三层架构思想写学生管理系统

    科技2025-02-05  12

    Student 类: 标准学生类,封装键盘录入的学生信息(id , name , age , birthday) StudentDao 类: Dao : (Data Access Object 缩写) 用于访问存储数据的数组或集合 StudentService 类: 用来进行业务逻辑的处理(例如:判断录入的id是否存在) StudentController 类: 和用户打交道(接收用户需求,采集用户信息,打印数据到控制台) InfoManagerEntry 类: 程序的入口(进入到学生管理系统)

    Student 类 public class Student { private String id; private String name; private String age; private String birthday;

    public Student() { } public Student(String id, String name, String age, String birthday) { this.id = id; this.name = name; this.age = age; this.birthday = birthday; } public String getId() { return id; } public void setId(String id) { this.id = id; } 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 getBirthday() { return birthday; } public void setBirthday(String birthday) { this.birthday = birthday; }

    }

    StudentController 类 public class StudentCotroller { static StudentService studentService = new StudentService();

    public void start() { Scanner sc = new Scanner(System.in); String id; while (true) { System.out.println("----------------欢迎来到<学生>信息管理系统----------------"); System.out.println("请输入您的选择 1.添加 2.删除 3.修改 4.查询 5.退出"); String choice = sc.next(); switch (choice) { case "1": StudentAdd(sc); break; case "2": delete(sc); break; case "3": update(sc); break; case "4": select(); break; case "5": return; default: System.out.println("您输入的有误,请重新输入"); break; } } } private void delete(Scanner sc) { String id; while (true){ System.out.println("请输入学号"); id = sc.next(); boolean flag = studentService.isExit(id); if (flag){ break; }else{ System.out.println("您输入的学号不存在,请重新输入"); } } boolean flag = studentService.delete(id); if (flag){ System.out.println("删除成功"); return; }else { System.out.println("删除失败"); } } private void update(Scanner sc) { String id; while (true) { System.out.println("请输入学号"); id = sc.next(); boolean exit = studentService.isExit(id); if (exit) { break; } else { System.out.println("您输入的学号不存在,请重新输入"); } } System.out.println("请输入姓名"); String name = sc.next(); System.out.println("请输入年龄"); String age = sc.next(); System.out.println("请输入生日"); String bir = sc.next(); boolean flag = studentService.update(id, name, age, bir); if (flag) { System.out.println("修改成功"); return; } else { System.out.println("修改失败"); return; } } private void select() { Student[] student = studentService.select(); System.out.println("--------------------查询结果如下--------------------"); for (int i = 0; i < student.length; i++) { if (student[i] != null) { System.out.println("学号:" + student[i].getId() + " 姓名:" + student[i].getName() + " 年龄:" + student[i].getAge() + " 生日:" + student[i].getBirthday()); } } System.out.println("----------------------------------------------------"); } private void StudentAdd(Scanner sc) { String id; while (true) { System.out.println("请输入学号"); id = sc.next(); boolean isExit = studentService.isExit(id); if (isExit) { System.out.println("您输入的学号已被占用,请重新输入"); } else { break; } } System.out.println("请输入姓名"); String name = sc.next(); System.out.println("请输入年龄"); String age = sc.next(); System.out.println("请输入生日"); String bir = sc.next(); Student student = new Student(id, name, age, bir); boolean flag = studentService.add(student); if (flag){ System.out.println("添加成功"); }else{ System.out.println("添加失败"); } }

    }

    StudentService 类 public class StudentService { static StudentDao studentDao = new StudentDao();

    public boolean isExit(String id) { return studentDao.isExit(id); } public boolean add(Student student) { return studentDao.add(student); } public Student[] select() { return studentDao.select(); } public boolean update(String id, String name, String age, String bir) { return studentDao.update(id,name,age,bir); } public boolean delete(String id) { return studentDao.delete(id); }

    }

    StudentDao 类 public class StudentDao { static Student[] students = new Student[5];

    public boolean isExit(String id) { for (int i = 0; i < students.length; i++) { if (students[i]!=null){ if (students[i].getId().equals(id)){ return true; } } } return false; } public boolean add(Student student) { int index = -1; for (int i = 0; i < students.length; i++) { if (students[i] == null){ index = i; break; } } if (index == -1){ return false; }else { students[index] = student; return true; } } public Student[] select() { return students; } public boolean update(String id, String name, String age, String bir) { for (int i = 0; i < students.length; i++) { if (students[i]!=null){ if (students[i].getId().equals(id)){ students[i].setName(name); students[i].setAge(age); students[i].setBirthday(bir); return true; } } } return false; } public boolean delete(String id) { for (int i = 0; i < students.length; i++) { if (students[i]!=null){ if (students[i].getId().equals(id)){ students[i] = null; return true; } } } return false; }

    }

    InfoManagerEntry 类 public class InfoManagerEntry { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(true){ System.out.println("----------------欢迎来到<工商学院>信息管理系统----------------"); System.out.println(“请输入您的选择 1.学生 2.退出”); String choice = sc.next(); switch (choice){ case “1”: StudentCotroller studentCotroller = new StudentCotroller(); studentCotroller.start(); break; case “2”: System.out.println(“感谢您的使用!”); System.exit(0); default: System.out.println(“您输入的有误,请重新输入”); break; } } } }

    Processed: 0.016, SQL: 8