Javaを使用して、ArrayListコレクションを活用して学生管理システムを作成する方法

生徒管理システムをArrayListで実装するには、まず生徒を表すStudentクラスを定義する必要があります。各生徒オブジェクトには学籍番号、氏名、性別、年齢などの属性を含めることができます。

学生管理システムでは下記の操作が可能です。

  1. 生徒を追加:生徒オブジェクトをArrayListに追加する。
  2. 生徒の削除 : ArrayList から既存の生徒オブジェクトを削除する。
  3. 生徒情報編集:ArrayList内にある指定生徒对象的属性を更新します。
  4. 学籍番号、氏名などの条件でArrayList内の学生オブジェクトを検索する
  5. 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
bannerAds