学生管理系统(java版本)

import java.util.ArrayList;
import java.util.Scanner;

class Student {
    private int id;
    private String name;
    private int age;

    public Student(int id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "ID: " + id + ", 姓名: " + name + ", 年龄: " + age;
    }
}

class StudentManagementSystem {
    private ArrayList<Student> students = new ArrayList<>();

    public void addStudent(Student student) {
        students.add(student);
        System.out.println("学生信息添加成功!");
    }

    public void displayStudents() {
        System.out.println("学生信息列表:");
        for (Student student : students) {
            System.out.println(student.toString());
        }
    }

    public Student findStudentById(int id) {
        for (Student student : students) {
            if (student.getId() == id) {
                return student;
            }
        }
        return null;
    }

    public void updateStudent() {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入要修改信息的学生ID:");
        int id = scanner.nextInt();
        Student student = findStudentById(id);
        if (student == null) {
            System.out.println("找不到该学生信息。");
            return;
        }
        System.out.print("请输入新的学生姓名:");
        String name = scanner.next();
        System.out.print("请输入新的学生年龄:");
        int age = scanner.nextInt();
        student.setName(name);
        student.setAge(age);
        System.out.println("学生信息修改成功!");
    }

    public void deleteStudent() {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入要删除的学生ID:");
        int id = scanner.nextInt();
        Student student = findStudentById(id);
        if (student == null) {
            System.out.println("找不到该学生信息。");
            return;
        }
        students.remove(student);
        System.out.println("学生信息删除成功!");
    }
}

public class Main {
    public static void main(String[] args) {
        StudentManagementSystem sms = new StudentManagementSystem();
        Scanner scanner = new Scanner(System.in);

        while (true) {
            System.out.println("\n学生管理系统");
            System.out.println("1. 添加学生信息");
            System.out.println("2. 显示学生信息");
            System.out.println("3. 修改学生信息");
            System.out.println("4. 删除学生信息");
            System.out.println("5. 退出");
            System.out.print("请选择操作:");
            int choice = scanner.nextInt();

            switch (choice) {
                case 1:
                    System.out.print("请输入学生ID:");
                    int id = scanner.nextInt();
                    System.out.print("请输入学生姓名:");
                    String name = scanner.next();
                    System.out.print("请输入学生年龄:");
                    int age = scanner.nextInt();
                    Student newStudent = new Student(id, name, age);
                    sms.addStudent(newStudent);
                    break;
                case 2:
                    sms.displayStudents();
                    break;
                case 3:
                    sms.updateStudent();
                    break;
                case 4:
                    sms.deleteStudent();
                    break;
                case 5:
                    System.out.println("退出程序。");
                    System.exit(0);
                    break;
                default:
                    System.out.println("无效的选择,请重新输入。");
                    break;
            }
        }
    }
}

Student 类:这个类表示学生对象。它包含私有属性 id、name 和 age,以及构造方法、访问器方法和修改器方法。还有一个重写的 toString 方法,用于将学生对象转换为字符串。

StudentManagementSystem 类:这个类用于管理学生信息。它包含一个 ArrayList 来存储学生对象。

addStudent 方法接受一个学生对象并将其添加到 students 列表中。

displayStudents 方法遍历 students 列表并打印每个学生的信息。

findStudentById 方法通过给定的 ID 查找学生对象。

updateStudent 方法允许用户根据学生的 ID 修改学生信息。

deleteStudent 方法允许用户根据学生的 ID 删除学生信息。

Main 类:这是程序的入口类。

在 main 方法中,我们创建一个 StudentManagementSystem 的实例 sms 和一个 Scanner 对象。

使用一个无限循环,显示一个简单的文本菜单,让用户选择要执行的操作。

根据用户的选择,我们调用 StudentManagementSystem 对象的方法来执行添加、显示、修改和删除学生信息等操作。

如果用户选择退出(5),则退出循环并结束程序。

通过这个示例,你可以看到 Java 的面向对象编程风格,使用类来组织数据和功能,使得代码更具可读性、模块化和维护性。用户可以根据菜单选择执行不同的操作,包括添加、显示、修改和删除学生信息。

你可能感兴趣的:(java,开发语言)