Java 集合实现学生信息管理系统:增删改查功能代码及解析
以下是使用集合实现学生信息管理功能的 Java 代码:
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManagement {
private ArrayList<Student> studentList;
public StudentManagement() {
studentList = new ArrayList<Student>();
}
public void addStudent(Student student) {
studentList.add(student);
}
public void removeStudent(Student student) {
studentList.remove(student);
}
public void editStudent(Student student, String newName, int newAge) {
student.setName(newName);
student.setAge(newAge);
}
public Student findStudentByName(String name) {
for (Student student : studentList) {
if (student.getName().equals(name)) {
return student;
}
}
return null;
}
public void printStudentList() {
for (Student student : studentList) {
System.out.println(student);
}
}
public static void main(String[] args) {
StudentManagement management = new StudentManagement();
Scanner scanner = new Scanner(System.in);
boolean running = true;
while (running) {
System.out.println("Please choose an operation:");
System.out.println("1. Add a new student");
System.out.println("2. Remove a student");
System.out.println("3. Edit a student");
System.out.println("4. Find a student by name");
System.out.println("5. Print student list");
System.out.println("6. Exit");
int choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.println("Please enter the name and age of the student:");
String name = scanner.next();
int age = scanner.nextInt();
Student student = new Student(name, age);
management.addStudent(student);
break;
case 2:
System.out.println("Please enter the name of the student you want to remove:");
name = scanner.next();
student = management.findStudentByName(name);
if (student != null) {
management.removeStudent(student);
} else {
System.out.println("The student doesn't exist.");
}
break;
case 3:
System.out.println("Please enter the name of the student you want to edit:");
name = scanner.next();
student = management.findStudentByName(name);
if (student != null) {
System.out.println("Please enter the new name and age of the student:");
String newName = scanner.next();
int newAge = scanner.nextInt();
management.editStudent(student, newName, newAge);
} else {
System.out.println("The student doesn't exist.");
}
break;
case 4:
System.out.println("Please enter the name of the student you want to find:");
name = scanner.next();
student = management.findStudentByName(name);
if (student != null) {
System.out.println(student);
} else {
System.out.println("The student doesn't exist.");
}
break;
case 5:
management.printStudentList();
break;
case 6:
running = false;
break;
default:
System.out.println("Invalid input.");
break;
}
}
scanner.close();
}
}
代码解释:
首先定义了一个 StudentManagement 类,该类包含一个 ArrayList<Student> 类型的成员变量 studentList,表示学生列表。通过构造方法初始化 studentList。
接下来定义了 addStudent、removeStudent、editStudent、findStudentByName 和 printStudentList 等方法,分别用于添加、删除、编辑、查找和打印学生信息。
在 main 方法中,通过一个 Scanner 对象读取用户输入,然后根据用户选择执行相应的操作。
具体实现如下:
-
如果用户选择添加学生,程序会要求用户输入学生的姓名和年龄,然后创建一个
Student对象并调用addStudent方法添加到学生列表中。 -
如果用户选择删除学生,程序会要求用户输入要删除的学生姓名,然后调用
findStudentByName方法查找学生对象,如果找到就调用removeStudent方法将学生从列表中删除。 -
如果用户选择编辑学生,程序会先要求用户输入要编辑的学生姓名,然后调用
findStudentByName方法查找学生对象,如果找到就要求用户输入新的姓名和年龄,然后调用editStudent方法更新学生信息。 -
如果用户选择查找学生,程序会要求用户输入要查找的学生姓名,然后调用
findStudentByName方法查找学生对象,如果找到就打印学生信息。 -
如果用户选择打印学生列表,程序会调用
printStudentList方法打印所有学生的信息。 -
如果用户选择退出程序,程序会将
running变量设为false,从而退出循环。
最后关闭 Scanner 对象。
原文地址: https://www.cveoy.top/t/topic/nNHZ 著作权归作者所有。请勿转载和采集!