Ionlydothat 2026-01-09 17:46 采纳率: 0%
浏览 7

java(相关搜索:管理系统)

求学生宿舍管理系统源码求学生宿舍管理系统源码了解学生宿舍管理,生源学生宿舍管理求,源码,你可以帮助我们

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2026-01-09 17:47
    关注

    下午好🌅🌅🌅
    本答案参考通义千问

    当然可以!下面我将为你提供一个学生宿舍管理系统的源码示例,并详细说明其功能和实现方式。该系统是一个基于 Java SE(控制台应用) 的简单版本,适合初学者理解系统的基本结构与逻辑。


    一、系统功能概述

    本系统主要用于学生宿舍的管理,包括以下核心功能:

    1. 学生信息录入
    2. 宿舍分配
    3. 宿舍信息查询
    4. 学生信息修改
    5. 学生信息删除

    二、技术选型

    • 语言:Java SE
    • 开发工具:Eclipse / IntelliJ IDEA
    • 运行环境:JDK 8+
    • 数据存储:使用 内存中的集合类(List) 存储数据(不涉及数据库)

    三、系统结构设计

    1. 类结构

    | 类名 | 功能 | |------|------| | Student | 学生信息实体类 | | Dormitory | 宿舍信息实体类 | | StudentManager | 管理学生和宿舍的核心类 | | Main | 主程序入口 |


    四、代码实现

    1. Student.java(学生信息类)

    public class Student {
        private String id;
        private String name;
        private String gender;
        private int dormitoryId;
    
        public Student(String id, String name, String gender, int dormitoryId) {
            this.id = id;
            this.name = name;
            this.gender = gender;
            this.dormitoryId = dormitoryId;
        }
    
        // Getter 和 Setter 方法
        public String getId() { return id; }
        public void setId(String id) { this.id = id; }
    
        public String getName() { return name; }
        public void setName(String name) { this.name = name; }
    
        public String getGender() { return gender; }
        public void setGender(String gender) { this.gender = gender; }
    
        public int getDormitoryId() { return dormitoryId; }
        public void setDormitoryId(int dormitoryId) { this.dormitoryId = dormitoryId; }
    
        @Override
        public String toString() {
            return "学号: " + id + ", 姓名: " + name + ", 性别: " + gender + ", 宿舍号: " + dormitoryId;
        }
    }
    

    2. Dormitory.java(宿舍信息类)

    public class Dormitory {
        private int id;
        private String location;
        private int capacity;
    
        public Dormitory(int id, String location, int capacity) {
            this.id = id;
            this.location = location;
            this.capacity = capacity;
        }
    
        // Getter 和 Setter 方法
        public int getId() { return id; }
        public void setId(int id) { this.id = id; }
    
        public String getLocation() { return location; }
        public void setLocation(String location) { this.location = location; }
    
        public int getCapacity() { return capacity; }
        public void setCapacity(int capacity) { this.capacity = capacity; }
    
        @Override
        public String toString() {
            return "宿舍号: " + id + ", 地点: " + location + ", 容量: " + capacity;
        }
    }
    

    3. StudentManager.java(管理类)

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    
    public class StudentManager {
        private List<Student> students = new ArrayList<>();
        private List<Dormitory> dormitories = new ArrayList<>();
    
        public void addStudent(Student student) {
            students.add(student);
        }
    
        public void addDormitory(Dormitory dormitory) {
            dormitories.add(dormitory);
        }
    
        public void displayAllStudents() {
            for (Student s : students) {
                System.out.println(s);
            }
        }
    
        public void displayAllDormitories() {
            for (Dormitory d : dormitories) {
                System.out.println(d);
            }
        }
    
        public void assignDormitory(String studentId, int dormitoryId) {
            for (Student s : students) {
                if (s.getId().equals(studentId)) {
                    s.setDormitoryId(dormitoryId);
                    System.out.println("分配成功!");
                    return;
                }
            }
            System.out.println("未找到该学生!");
        }
    
        public void updateStudent(String studentId, String newName, String newGender) {
            for (Student s : students) {
                if (s.getId().equals(studentId)) {
                    s.setName(newName);
                    s.setGender(newGender);
                    System.out.println("更新成功!");
                    return;
                }
            }
            System.out.println("未找到该学生!");
        }
    
        public void deleteStudent(String studentId) {
            students.removeIf(s -> s.getId().equals(studentId));
            System.out.println("删除成功!");
        }
    }
    

    4. Main.java(主程序)

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            StudentManager manager = new StudentManager();
    
            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.println("6. 修改学生信息");
                System.out.println("7. 删除学生");
                System.out.println("0. 退出");
    
                System.out.print("请选择操作: ");
                int choice = scanner.nextInt();
    
                switch (choice) {
                    case 1:
                        System.out.print("请输入学号: ");
                        String id = scanner.next();
                        System.out.print("请输入姓名: ");
                        String name = scanner.next();
                        System.out.print("请输入性别: ");
                        String gender = scanner.next();
                        manager.addStudent(new Student(id, name, gender, 0));
                        break;
    
                    case 2:
                        System.out.print("请输入宿舍号: ");
                        int dormId = scanner.nextInt();
                        System.out.print("请输入地点: ");
                        String location = scanner.next();
                        System.out.print("请输入容量: ");
                        int capacity = scanner.nextInt();
                        manager.addDormitory(new Dormitory(dormId, location, capacity));
                        break;
    
                    case 3:
                        manager.displayAllStudents();
                        break;
    
                    case 4:
                        manager.displayAllDormitories();
                        break;
    
                    case 5:
                        System.out.print("请输入学生学号: ");
                        String studentId = scanner.next();
                        System.out.print("请输入宿舍号: ");
                        int dormitoryId = scanner.nextInt();
                        manager.assignDormitory(studentId, dormitoryId);
                        break;
    
                    case 6:
                        System.out.print("请输入学生学号: ");
                        String updateId = scanner.next();
                        System.out.print("请输入新姓名: ");
                        String newName = scanner.next();
                        System.out.print("请输入新性别: ");
                        String newGender = scanner.next();
                        manager.updateStudent(updateId, newName, newGender);
                        break;
    
                    case 7:
                        System.out.print("请输入要删除的学生学号: ");
                        String delId = scanner.next();
                        manager.deleteStudent(delId);
                        break;
    
                    case 0:
                        System.out.println("退出系统!");
                        scanner.close();
                        return;
    
                    default:
                        System.out.println("无效选项,请重新选择!");
                }
            }
        }
    }
    

    五、运行效果示例

    --- 学生宿舍管理系统 ---
    1. 添加学生
    2. 添加宿舍
    3. 显示所有学生
    4. 显示所有宿舍
    5. 分配宿舍
    6. 修改学生信息
    7. 删除学生
    0. 退出
    请选择操作: 1
    请输入学号: 2021001
    请输入姓名: 张三
    请输入性别: 男
    

    六、扩展建议(可选)

    • 连接数据库:使用 JDBC 连接 MySQL 或 SQLite,实现持久化存储。
    • 图形界面:使用 Java Swing 或 JavaFX 开发 GUI 版本。
    • 权限管理:添加管理员和普通用户角色。
    • 日志记录:记录用户操作日志。

    七、总结

    这是一个基础版的学生宿舍管理系统,适用于学习和教学用途。如果你需要更高级的功能(如 Web 版、数据库支持等),可以继续扩展这个项目。

    如果你希望我提供Web 版本带数据库的完整项目,也可以告诉我,我会进一步帮助你!


    如需进一步定制或添加功能,请随时告诉我!

    评论

报告相同问题?

问题事件

  • 创建了问题 1月9日