Java中班级学生管理系统小项目

答案:系统通过Student类封装学生信息,StudentManager类实现增删改查功能,使用ArrayList存储学生数据,支持按ID操作并避免重复,主程序驱动控制台交互。

java中班级学生管理系统小项目

做一个Java班级学生管理系统,核心是用面向对象的方式管理学生信息。系统不需要复杂界面,先从控制台版本做起,重点练逻辑和代码结构。

1. 学生类设计(Student)

每个学生有基本信息,封装成一个类。

Student.java

public class Student {    private int id;    private String name;    private int age;    private String gender;
public Student(int id, String name, int age, String gender) {    this.id = id;    this.name = name;    this.age = age;    this.gender = gender;}// Getter 和 Setter 方法public int getId() { return id; }public void setId(int id) { this.id = id; }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 getGender() { return gender; }public void setGender(String gender) { this.gender = gender; }@Overridepublic String toString() {    return "ID: " + id + ", 姓名: " + name + ", 年龄: " + age + ", 性别: " + gender;}

}

立即学习“Java免费学习笔记(深入)”;

2. 管理系统主功能(StudentManager)

用ArrayList存储学生,实现增删改查。

StudentManager.java

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

public class StudentManager {private ArrayList students = new ArrayList();private Scanner scanner = new Scanner(System.in);

public void start() {    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. 根据ID查询学生");        System.out.println("6. 退出");        System.out.print("请选择操作:");        int choice = scanner.nextInt();        switch (choice) {            case 1:                addStudent();                break;            case 2:                deleteStudent();                break;            case 3:                updateStudent();                break;            case 4:                listAllStudents();                break;            case 5:                findStudentById();                break;            case 6:                System.out.println("退出系统。");                return;            default:                System.out.println("无效选择,请重试。");        }    }}private void addStudent() {    System.out.print("输入ID: ");    int id = scanner.nextInt();    if (findStudentById(id) != null) {        System.out.println("该ID已存在!");        return;    }    System.out.print("输入姓名: ");    String name = scanner.next();    System.out.print("输入年龄: ");    int age = scanner.nextInt();    System.out.print("输入性别: ");    String gender = scanner.next();    students.add(new Student(id, name, age, gender));    System.out.println("学生添加成功!");}private void deleteStudent() {    System.out.print("输入要删除的学生ID: ");    int id = scanner.nextInt();    Student stu = findStudentById(id);    if (stu != null) {        students.remove(stu);        System.out.println("删除成功!");    } else {        System.out.println("未找到该学生。");    }}private void updateStudent() {    System.out.print("输入要修改的学生ID: ");    int id = scanner.nextInt();    Student stu = findStudentById(id);    if (stu == null) {        System.out.println("未找到该学生。");        return;    }    System.out.print("新姓名: ");    String name = scanner.next();    System.out.print("新年龄: ");    int age = scanner.nextInt();    System.out.print("新性别: ");    String gender = scanner.next();    stu.setName(name);    stu.setAge(age);    stu.setGender(gender);    System.out.println("修改成功!");}private void listAllStudents() {    if (students.isEmpty()) {        System.out.println("暂无学生信息。");    } else {        for (Student s : students) {            System.out.println(s);        }    }}private Student findStudentById(int id) {    for (Student s : students) {        if (s.getId() == id) {            return s;        }    }    return null;}

}

立即学习“Java免费学习笔记(深入)”;

3. 主程序入口

Main.java

public class Main {    public static void main(String[] args) {        StudentManager manager = new StudentManager();        manager.start();    }}

4. 可扩展方向

这个小项目可以继续优化:

加入文件读写(保存到txt或CSV)用HashMap代替ArrayList提升查找效率加入成绩属性和平均分统计改成图形界面(Swing或JavaFX)加输入验证(比如年龄不能为负)

基本上就这些。不复杂但容易忽略细节,比如ID重复判断、Scanner陷阱。多写一遍,理解更深。

以上就是Java中班级学生管理系统小项目的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/63890.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月11日 14:53:24
下一篇 2025年11月11日 15:48:25

相关推荐

发表回复

登录后才能评论
关注微信