案例6-2 学生管理系统

系列 - JAVA程序案例
目录
在一所学校中,对学生人员流动的管理是很麻烦的,本案例要求编写一个学生管理系统,实现对学生信息的添加、删除、修改和查询功能。
任务描述
每个功能的具体要求如下:
- 系统的首页:用于显示系统所有的操作,并根据用户在控制台的输入选择需要使用的功能。
- 查询功能:用户选择该功能后,在控制台打印所有学生的信息。
- 添加功能:用户选择该功能后,要求用户在控制台输入学生学号、姓名、年龄和居住地的基本信息。在输入学号时,判断学号是否被占用,如果被占用则添加失败,并给出相应提示;反之则提示添加成功。 4. 删除功能:用户选择该功能后,提示用户在控制台输入需要删除学生的学号,如果用户输入的学号存在则提示删除成功,反之则提示删除失败。
- 修改功能:用户选择该功能后,提示用户在控制台输入需要修改的学生学号、姓名、年龄和居住地学生信息,并使用输入的学生学号判断是否有此人,如果有则修改原有的学生信息,反正则提示需要修改的学生信息不存在。
- 退出功能:用户选择该功能后,程序正常关闭。
本案例要求使用 LinkedList 集合存储自定义的对象,使用 LinkedList 集合的中常用方法实现相关的操作。
运行截图
1. 系统首页
2. 添加功能


3. 查询功能

4. 修改功能
5. 删除功能
参考代码
Student.java
public class Student {
// 学号
private String id;
// 姓名
private String name;
// 年龄
private int age;
// 居住地
private String address;
// 构造方法
public Student(String id, String name, int age, String address) {
this.id = id;
this.name = name;
this.age = age;
this.address = address;
}
// TODO: 一些 setter 和 getter 方法
}
Manager.java
import java.util.LinkedList;
import java.util.Scanner;
public class Manager {
// 创建集合对象,用于存储学生数据
static LinkedList<Student> array = new LinkedList<Student>();
public static void main(String[] args) {
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("请输入你的选择:");
Scanner sc = new Scanner(System.in);
int choice = sc.nextInt();
// TODO: 完成switch语句,根据用户选择调用相应的方法
}
}
// 查看所有学生
public static void showAllStudents() {
// TODO: 判断集合是否为空,为空则提示并返回
System.out.println("学号\t姓名\t年龄\t居住地");
// TODO: 使用foreach循环遍历array,打印每个学生信息
}
// 添加学生
public static void addStudent() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生学号:");
String id = sc.nextLine();
// TODO: 判断学号是否被占用
// 提示:遍历array检查id是否存在
// TODO: 获取除学号外的其他学生信息(姓名、年龄、居住地)
// TODO: 创建Student对象并添加到array中
}
// 删除学生
public static void deleteStudent() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要删除的学生的学号:");
String id = sc.nextLine();
// TODO: 查找要删除的学生
// 提示:遍历array查找对应学号的学生索引
// TODO: 根据查找结果执行删除操作或给出提示(学号不存在时要提示)
}
// 修改学生信息
public static void updateStudent() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要修改的学生的学号:");
String id = sc.nextLine();
// TODO: 查找要修改的学生
// 提示:遍历array查找对应学号的学生
// TODO: 显示修改菜单并根据用户选择修改相应信息
}
}