在一所学校中,对学生人员流动的管理是很麻烦的,本案例要求编写一个学生管理系统,实现对学生信息的添加、删除、修改和查询功能。每个功能的具体要求如下: 系统的首页:用于显示系统所有的操作,并根据用户在控制台的输入选择需要使用的功能。 查询功能:用户选择该功能后,在控制台打印所有学生的信息。 添加功能:用户选择该功能后,要求用户在控制台输入学生学号、姓名、年龄和居住地的基本信息。在输入学号时,判断学号是否被占用,如果被占用则添加失败,并给出相应提示;反之则提示添加成功。 删除功能:用户选择该功能后,提示用户在控制台输入需要删除学生的学号,如果用户输入的学号存在则提示删除成功,反之则提示删除失败。 修改功能:用户选择该功能后,提示用户在控制台输入需要修改的学生学号、姓名、年龄和居住地学生信息,并使用输入的学生学号判断是否有此人,如果有则修改原有的学生信息,反正则提示需要修改的学生信息不存在。 退出功能:用户选择该功能后,程序正常关闭。 本案例要求使用List集合存储自定义的对象,使用List集合的中常用方法实现相关的操作。
时间: 2023-06-11 08:10:34 浏览: 105
学生管理系统的添加、修改、删除、查询功能实现
5星 · 资源好评率100%
好的,根据您的需求,我们可以按照以下步骤来实现学生管理系统:
1. 定义一个学生类,包含学号、姓名、年龄和居住地等属性,以及相应的 getter 和 setter 方法。
2. 创建一个 List 集合,用于存储学生对象。
3. 实现查询功能,遍历 List 集合,输出所有学生信息。
4. 实现添加功能,通过控制台输入学生信息,判断学号是否已存在,若存在则添加失败,否则添加成功并将学生对象加入 List 集合中。
5. 实现删除功能,通过控制台输入要删除的学生学号,查找 List 集合中是否存在该学生,如果存在则删除该学生对象,否则提示删除失败。
6. 实现修改功能,通过控制台输入要修改的学生学号,查找 List 集合中是否存在该学生,如果存在则修改该学生对象的信息,否则提示修改失败。
7. 实现退出功能,程序正常关闭。
下面是一个简单的 Java 代码示例,可以实现上述学生管理系统的功能:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
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;
}
// getter 和 setter 方法
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;
}
}
public class StudentManagementSystem {
private static List<Student> students = new ArrayList<>(); // 学生集合
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int choice = 0;
while (choice != 5) {
// 显示菜单
System.out.println("请选择操作:");
System.out.println("1. 查询学生信息");
System.out.println("2. 添加学生信息");
System.out.println("3. 删除学生信息");
System.out.println("4. 修改学生信息");
System.out.println("5. 退出");
choice = scanner.nextInt();
switch (choice) {
case 1: // 查询学生信息
showStudents();
break;
case 2: // 添加学生信息
addStudent();
break;
case 3: // 删除学生信息
deleteStudent();
break;
case 4: // 修改学生信息
modifyStudent();
break;
case 5: // 退出
System.out.println("感谢使用学生管理系统!");
break;
default:
System.out.println("输入错误,请重新选择!");
break;
}
}
}
private static void showStudents() {
if (students.isEmpty()) {
System.out.println("学生信息为空!");
return;
}
System.out.println("学号\t姓名\t年龄\t居住地");
for (Student student : students) {
System.out.println(student.getId() + "\t" + student.getName() + "\t"
+ student.getAge() + "\t" + student.getAddress());
}
}
private static void addStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学号:");
String id = scanner.nextLine();
for (Student student : students) {
if (student.getId().equals(id)) {
System.out.println("学号已存在,添加失败!");
return;
}
}
System.out.println("请输入姓名:");
String name = scanner.nextLine();
System.out.println("请输入年龄:");
int age = scanner.nextInt();
System.out.println("请输入居住地:");
scanner.nextLine();
String address = scanner.nextLine();
Student student = new Student(id, name, age, address);
students.add(student);
System.out.println("添加成功!");
}
private static void deleteStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要删除的学生学号:");
String id = scanner.nextLine();
for (Student student : students) {
if (student.getId().equals(id)) {
students.remove(student);
System.out.println("删除成功!");
return;
}
}
System.out.println("学号不存在,删除失败!");
}
private static void modifyStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要修改的学生学号:");
String id = scanner.nextLine();
for (Student student : students) {
if (student.getId().equals(id)) {
System.out.println("请输入姓名:");
String name = scanner.nextLine();
System.out.println("请输入年龄:");
int age = scanner.nextInt();
System.out.println("请输入居住地:");
scanner.nextLine();
String address = scanner.nextLine();
student.setName(name);
student.setAge(age);
student.setAddress(address);
System.out.println("修改成功!");
return;
}
}
System.out.println("学号不存在,修改失败!");
}
}
```
以上代码只是一个简单示例,还有很多可以优化和改进的地方,比如输入校验、异常处理等。但是这个示例可以帮助您理解如何使用 List 集合实现学生管理系统的基本功能。
阅读全文