文章目录
- 学生管理系统
- 1、需求文档
- 需求
- 分析
- 2、新建学生实体类
- 3、实现基本菜单和退出功能
- 4、查询和添加
- 4.1 查询学生信息
- 4.2 添加学生信息
- 5、修改和删除
- 5.1 删除功能实现
- 5.2 修改功能实现
- 完整代码下载
学生管理系统
1、需求文档
需求
采取控制台的方式书写学生管理系统。
分析
初始菜单:
学生类:
- 属性:id、姓名、年龄、家庭住址
添加功能:
- 键盘录入每一个学生信息并添加,需要满足以下要求:
id唯一
删除功能:
- 键盘录入要删除的学生
id
,需要满足以下要求:- id存在删除。
- id不存在,需要提示不存在,并返回初始菜单。
修改功能:
- 键盘录入要修改的学生id,需要满足以下要求
- id存在,继续录入其他信息
- id不存在,需要提示不存在,并回到初始菜单
查询功能:
- 打印所有的学生信息,需要满足以下要求:
- 如果没有学生信息,提示:当前无学生信息,请添加后查询。
- 如果有学生信息,需要按照格式化输出。
2、新建学生实体类
Student.java
:
package com.nobug.studentsystem;/*** @Author: wang* @Create: 2025/1/28* @Description: 学生类**/
public class Student {// id name age addressprivate String id;private String name;private int age;private String address;public Student(){}public Student(String id, String name, int age, String address) {this.id = id;this.name = name;this.age = age;this.address = address;}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 int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}
}
3、实现基本菜单和退出功能
package com.nobug.studentsystem;import java.util.Scanner;public class StudentSystem {public static void main(String[] args) {loop: while (true){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("—— —— —— —— —— —— —— —— —— —— —— —— —— —— —— ——");System.out.println("请输入您的选择:");Scanner scanner = new Scanner(System.in);String choice = scanner.next();switch (choice) {case "1":addStudent();break;case "2":deleteStudent();break;case "3":updateStudent();break;case "4":queryStudent();break;case "5":System.out.println("退出");break loop;default:System.out.println("没有这个选项");}}}// 添加学生public static void addStudent(){System.out.println("添加学生");}// 删除学生public static void deleteStudent(){System.out.println("删除学生");}// 修改学生public static void updateStudent(){System.out.println("修改学生");}// 查询学生public static void queryStudent(){System.out.println("查询学生");}
}
运行效果:
4、查询和添加
4.1 查询学生信息
代码实现:
// 查询学生
public static void queryStudent(ArrayList<Student> students){// 没有学生信息if(students.isEmpty()){System.out.println("当前无学生信息,请添加后再查询。");return;}// 存在学生信息System.out.println("id\t\t姓名\t\t年龄\t\t家庭住址");for(Student student : students){System.out.println(student.getId() + "\t" + student.getName() + "\t" + student.getAge() + "\t" + student.getAddress());}
}
4.2 添加学生信息
代码实现:
// 添加学生
public static void addStudent(ArrayList<Student> students){Scanner scanner = new Scanner(System.in);System.out.print("请输入学生的id:");String id = scanner.next();System.out.print("请输入学生的姓名:");String name = scanner.next();System.out.print("请输入学生的年龄:");int age = scanner.nextInt();System.out.print("请输入学生的家庭住址:");String address = scanner.next();Student student = new Student(id, name, age, address);students.add(student);System.out.println("学生信息添加成功!");
}
修改代码实现,id唯一,首先编写判断id
是否唯一的方法:
// 判断id在集合中是否存在
public static boolean containsStudentId(ArrayList<Student> students, String id){// 循环遍历集合里面的每一个学生对象// 拿到学生对象后,获取id并进行判断for(Student student : students){if(student.getId().equals(id)){return true;}}return false;
}
修改添加学生信息代码:
public static void addStudent(ArrayList<Student> students){Student student = new Student();Scanner scanner = new Scanner(System.in);while(true){System.out.print("请输入学生的id:");String id = scanner.next();boolean isContainId = containsStudentId(students, id);if(isContainId){// id已经存在,重新录入idSystem.out.println("id已经存在,请重新录入:");}else {// id不存在,可以使用student.setId(id);break;}}System.out.print("请输入学生的姓名:");String name = scanner.next();student.setName(name);System.out.print("请输入学生的年龄:");int age = scanner.nextInt();student.setAge(age);System.out.print("请输入学生的家庭住址:");String address = scanner.next();student.setAddress(address);students.add(student);System.out.println("学生信息添加成功!");
}
实现效果:
5、修改和删除
5.1 删除功能实现
实现代码:
// 删除学生public static void deleteStudent(ArrayList<Student> students){Scanner scanner = new Scanner(System.in);System.out.print("请输入要删除的学生id:");String id = scanner.next();int index = getIndex(students, id);if(index == -1){System.out.println("学生id不存在,删除失败。");}else {students.remove(index);System.out.println("学生【"+id+"】信息删除成功!");}}
实现效果:
5.2 修改功能实现
代码实现:
// 修改学生
public static void updateStudent(ArrayList<Student> students){Scanner scanner = new Scanner(System.in);System.out.print("请输入要修改的学生id:");String id = scanner.next();int index = getIndex(students, id);if(index == -1){System.out.println("学生id不存在,请重新输入:");return;}Student student = students.get(index);// 输入其他信息并修改System.out.print("请输入要修改的学生姓名:");String newName = scanner.next();student.setName(newName);System.out.print("请输入要修改的学生年龄:");int newAge = scanner.nextInt();student.setAge(newAge);System.out.print("请输入要修改的学生家庭住址:");String newAddress = scanner.next();student.setAddress(newAddress);System.out.println("学生信息修改成功。");
}
完整代码下载
分享文件:studentsystem.zip
链接:https://pan.xunlei.com/s/VOHm8TBUsOWhIalxfSEUYiZ-A1#
提取码:v87w
复制这段内容后打开迅雷,查看更方便