以下是一个基于 Java 基础技术、面向对象技术、集合(ArrayList)、IO 流等技术的学生管理系统 V1.0 的示例实现:

import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class StudentManagementSystem {
    private List<Student> students;
    private Scanner scanner;

    public StudentManagementSystem() {
        students = new ArrayList<>();
        scanner = new Scanner(System.in);
    }

    public void start() {
        boolean running = true;
        while (running) {
            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('6. 导出学员信息');
            System.out.println('7. 退出系统');
            System.out.print('请选择操作:');

            int choice = scanner.nextInt();
            switch (choice) {
                case 1:
                    addStudent();
                    break;
                case 2:
                    deleteStudent();
                    break;
                case 3:
                    modifyStudent();
                    break;
                case 4:
                    showAllStudents();
                    break;
                case 5:
                    importStudents();
                    break;
                case 6:
                    exportStudents();
                    break;
                case 7:
                    running = false;
                    break;
                default:
                    System.out.println('无效操作,请重新选择。');
            }
        }
    }

    private void addStudent() {
        System.out.println('添加学员');
        System.out.print('姓名:');
        String name = scanner.next();
        System.out.print('年龄:');
        int age = scanner.nextInt();
        System.out.print('性别:');
        String sex = scanner.next();
        System.out.print('学号:');
        long sid = scanner.nextLong();
        System.out.print('成绩:');
        double grade = scanner.nextDouble();

        if (findStudent(sid) != null) {
            System.out.println('学号已存在,无法添加。');
            return;
        }

        Student student = new Student(name, age, sex, sid, grade);
        students.add(student);
        System.out.println('添加成功。');
    }

    private void deleteStudent() {
        System.out.println('删除学员');
        System.out.print('学号:');
        long sid = scanner.nextLong();

        Student student = findStudent(sid);
        if (student == null) {
            System.out.println('学号不存在,无法删除。');
            return;
        }

        students.remove(student);
        System.out.println('删除成功。');
    }

    private void modifyStudent() {
        System.out.println('修改学员信息');
        System.out.print('学号:');
        long sid = scanner.nextLong();

        Student student = findStudent(sid);
        if (student == null) {
            System.out.println('学号不存在,无法修改。');
            return;
        }

        System.out.print('姓名(原始值:' + student.getName() + '):');
        String name = scanner.next();
        System.out.print('年龄(原始值:' + student.getAge() + '):');
        int age = scanner.nextInt();
        System.out.print('性别(原始值:' + student.getSex() + '):');
        String sex = scanner.next();
        System.out.print('成绩(原始值:' + student.getGrade() + '):');
        double grade = scanner.nextDouble();

        student.setName(name);
        student.setAge(age);
        student.setSex(sex);
        student.setGrade(grade);

        System.out.println('修改成功。');
    }

    private void showAllStudents() {
        System.out.println('所有学员信息');
        System.out.println('姓名	年龄	性别	学号	成绩');
        for (Student student : students) {
            System.out.println(student.getName() + '\t' + student.getAge() + '\t' +
                    student.getSex() + '\t' + student.getSid() + '\t' + student.getGrade());
        }
    }

    private void importStudents() {
        System.out.println('导入学员信息');
        System.out.print('请输入文件路径:');
        String filePath = scanner.next();

        try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(filePath))) {
            students = (List<Student>) ois.readObject();
            System.out.println('导入成功。');
        } catch (IOException | ClassNotFoundException e) {
            System.out.println('导入失败:' + e.getMessage());
        }
    }

    private void exportStudents() {
        System.out.println('导出学员信息');
        System.out.print('请输入文件路径:');
        String filePath = scanner.next();

        try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(filePath))) {
            oos.writeObject(students);
            System.out.println('导出成功。');
        } catch (IOException e) {
            System.out.println('导出失败:' + e.getMessage());
        }
    }

    private Student findStudent(long sid) {
        for (Student student : students) {
            if (student.getSid() == sid) {
                return student;
            }
        }
        return null;
    }

    public static void main(String[] args) {
        StudentManagementSystem system = new StudentManagementSystem();
        system.start();
    }
}

class Student implements Serializable {
    private String name;
    private int age;
    private String sex;
    private long sid;
    private double grade;

    public Student(String name, int age, String sex, long sid, double grade) {
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.sid = sid;
        this.grade = grade;
    }

    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 getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public long getSid() {
        return sid;
    }

    public void setSid(long sid) {
        this.sid = sid;
    }

    public double getGrade() {
        return grade;
    }

    public void setGrade(double grade) {
        this.grade = grade;
    }
}

此示例实现了一个简单的学生管理系统,提供了添加学生、删除学生、修改学生信息、显示所有学生信息、导入学生信息和导出学生信息等功能。可以根据需要进行扩展和修改。

Java 学生管理系统 V1.0:使用基础技术、面向对象和集合实现

原文地址: https://www.cveoy.top/t/topic/qdBk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录