Javaを使用して、ArrayListコレクションを活用して学生管理システムを作成する方法
生徒管理システムをArrayListで実装するには、まず生徒を表すStudentクラスを定義する必要があります。各生徒オブジェクトには学籍番号、氏名、性別、年齢などの属性を含めることができます。
学生管理システムでは下記の操作が可能です。
- 生徒を追加:生徒オブジェクトをArrayListに追加する。
- 生徒の削除 : ArrayList から既存の生徒オブジェクトを削除する。
- 生徒情報編集:ArrayList内にある指定生徒对象的属性を更新します。
- 学籍番号、氏名などの条件でArrayList内の学生オブジェクトを検索する
- ArrayListをイテレーションして全生徒の情報を表示する。
以下に簡単なサンプルコードを示します。
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManagementSystem {
private ArrayList<Student> students;
public StudentManagementSystem() {
students = new ArrayList<Student>();
}
public void addStudent(Student student) {
students.add(student);
System.out.println("添加学生成功!");
}
public void deleteStudent(String studentId) {
for (int i = 0; i < students.size(); i++) {
if (students.get(i).getStudentId().equals(studentId)) {
students.remove(i);
System.out.println("删除学生成功!");
return;
}
}
System.out.println("找不到指定学生!");
}
public void updateStudent(String studentId, Student newStudent) {
for (int i = 0; i < students.size(); i++) {
if (students.get(i).getStudentId().equals(studentId)) {
students.set(i, newStudent);
System.out.println("更新学生信息成功!");
return;
}
}
System.out.println("找不到指定学生!");
}
public void queryStudent(String studentId) {
for (int i = 0; i < students.size(); i++) {
if (students.get(i).getStudentId().equals(studentId)) {
System.out.println("学生信息如下:");
System.out.println(students.get(i));
return;
}
}
System.out.println("找不到指定学生!");
}
public void displayAllStudents() {
System.out.println("所有学生信息如下:");
for (Student student : students) {
System.out.println(student);
}
}
public static void main(String[] args) {
StudentManagementSystem system = new StudentManagementSystem();
Scanner scanner = new Scanner(System.in);
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("0. 退出");
int choice = scanner.nextInt();
scanner.nextLine(); // 读取换行符
switch (choice) {
case 1:
System.out.println("请输入学生学号:");
String studentId = scanner.nextLine();
System.out.println("请输入学生姓名:");
String name = scanner.nextLine();
System.out.println("请输入学生性别:");
String gender = scanner.nextLine();
System.out.println("请输入学生年龄:");
int age = scanner.nextInt();
scanner.nextLine(); // 读取换行符
Student newStudent = new Student(studentId, name, gender, age);
system.addStudent(newStudent);
break;
case 2:
System.out.println("请输入要删除的学生学号:");
String deleteStudentId = scanner.nextLine();
system.deleteStudent(deleteStudentId);
break;
case 3:
System.out.println("请输入要修改的学生学号:");
String updateStudentId = scanner.nextLine();
System.out.println("请输入新的学生姓名:");
String newName = scanner.nextLine();
System.out.println("请输入新的学生性别:");
String newGender = scanner.nextLine();
System.out.println("请输入新的学生年龄:");
int newAge = scanner.nextInt();
scanner.nextLine(); // 读取换行符
Student updatedStudent = new Student(updateStudentId, newName, newGender, newAge);
system.updateStudent(updateStudentId, updatedStudent);
break;
case 4:
System.out.println("请输入要查询的学生学号:");
String queryStudentId = scanner.nextLine();
system.queryStudent(queryStudentId);
break;
case 5:
system.displayAllStudents();
break;
case 0