用java语言编写一个学生宿舍管理系统
时间: 2023-06-15 08:06:01 浏览: 56
好的,学生宿舍管理系统主要包括以下几个模块:
1. 学生信息管理模块:包括学生基本信息(学号、姓名、性别、年龄、班级等)的增删改查功能。
2. 宿舍信息管理模块:包括宿舍基本信息(宿舍号、楼层、床位数等)的增删改查功能。
3. 入住管理模块:包括学生入住宿舍、退宿等功能。
4. 维修管理模块:包括宿舍维修申报、维修记录查询等功能。
5. 统计报表模块:包括学生入住情况、宿舍维修情况等统计报表功能。
下面是一个简单的学生宿舍管理系统Java代码示例:
```java
import java.util.ArrayList;
import java.util.Scanner;
public class DormitoryManagementSystem {
// 定义ArrayList集合存储学生和宿舍信息
private static ArrayList<Student> students = new ArrayList<>();
private static ArrayList<Dormitory> dormitories = new ArrayList<>();
public static void main(String[] args) {
Scanner input = 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. 退出系统");
System.out.print("请选择操作:");
int choice = input.nextInt();
switch (choice) {
case 0:
System.out.println("谢谢使用,再见!");
System.exit(0);
break;
case 1:
studentInfoManagement();
break;
case 2:
dormitoryInfoManagement();
break;
case 3:
checkInManagement();
break;
case 4:
repairManagement();
break;
case 5:
statisticReport();
break;
default:
System.out.println("输入有误,请重新选择!");
break;
}
}
}
// 学生信息管理模块
public static void studentInfoManagement() {
Scanner input = 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("0. 返回上一级菜单");
System.out.print("请选择操作:");
int choice = input.nextInt();
switch (choice) {
case 0:
return;
case 1:
addStudent();
break;
case 2:
modifyStudent();
break;
case 3:
deleteStudent();
break;
case 4:
queryStudent();
break;
default:
System.out.println("输入有误,请重新选择!");
break;
}
}
}
// 添加学生信息
public static void addStudent() {
Scanner input = new Scanner(System.in);
System.out.print("请输入学号:");
String id = input.next();
System.out.print("请输入姓名:");
String name = input.next();
System.out.print("请输入性别:");
String gender = input.next();
System.out.print("请输入年龄:");
int age = input.nextInt();
System.out.print("请输入班级:");
String className = input.next();
Student student = new Student(id, name, gender, age, className);
students.add(student);
System.out.println("添加成功!");
}
// 修改学生信息
public static void modifyStudent() {
Scanner input = new Scanner(System.in);
System.out.print("请输入要修改的学生学号:");
String id = input.next();
for (Student student : students) {
if (student.getId().equals(id)) {
System.out.print("请输入新姓名:");
String name = input.next();
System.out.print("请输入新性别:");
String gender = input.next();
System.out.print("请输入新年龄:");
int age = input.nextInt();
System.out.print("请输入新班级:");
String className = input.next();
student.setName(name);
student.setGender(gender);
student.setAge(age);
student.setClassName(className);
System.out.println("修改成功!");
return;
}
}
System.out.println("未找到该学生!");
}
// 删除学生信息
public static void deleteStudent() {
Scanner input = new Scanner(System.in);
System.out.print("请输入要删除的学生学号:");
String id = input.next();
for (Student student : students) {
if (student.getId().equals(id)) {
students.remove(student);
System.out.println("删除成功!");
return;
}
}
System.out.println("未找到该学生!");
}
// 查询学生信息
public static void queryStudent() {
Scanner input = new Scanner(System.in);
System.out.print("请输入要查询的学生学号:");
String id = input.next();
for (Student student : students) {
if (student.getId().equals(id)) {
System.out.println("学号\t姓名\t性别\t年龄\t班级");
System.out.println(student.getId() + "\t" + student.getName() + "\t" + student.getGender() + "\t" + student.getAge() + "\t" + student.getClassName());
return;
}
}
System.out.println("未找到该学生!");
}
// 宿舍信息管理模块
public static void dormitoryInfoManagement() {
Scanner input = 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("0. 返回上一级菜单");
System.out.print("请选择操作:");
int choice = input.nextInt();
switch (choice) {
case 0:
return;
case 1:
addDormitory();
break;
case 2:
modifyDormitory();
break;
case 3:
deleteDormitory();
break;
case 4:
queryDormitory();
break;
default:
System.out.println("输入有误,请重新选择!");
break;
}
}
}
// 添加宿舍信息
public static void addDormitory() {
Scanner input = new Scanner(System.in);
System.out.print("请输入宿舍号:");
String number = input.next();
System.out.print("请输入楼层:");
int floor = input.nextInt();
System.out.print("请输入床位数:");
int capacity = input.nextInt();
Dormitory dormitory = new Dormitory(number, floor, capacity);
dormitories.add(dormitory);
System.out.println("添加成功!");
}
// 修改宿舍信息
public static void modifyDormitory() {
Scanner input = new Scanner(System.in);
System.out.print("请输入要修改的宿舍号:");
String number = input.next();
for (Dormitory dormitory : dormitories) {
if (dormitory.getNumber().equals(number)) {
System.out.print("请输入新楼层:");
int floor = input.nextInt();
System.out.print("请输入新床位数:");
int capacity = input.nextInt();
dormitory.setFloor(floor);
dormitory.setCapacity(capacity);
System.out.println("修改成功!");
return;
}
}
System.out.println("未找到该宿舍!");
}
// 删除宿舍信息
public static void deleteDormitory() {
Scanner input = new Scanner(System.in);
System.out.print("请输入要删除的宿舍号:");
String number = input.next();
for (Dormitory dormitory : dormitories) {
if (dormitory.getNumber().equals(number)) {
dormitories.remove(dormitory);
System.out.println("删除成功!");
return;
}
}
System.out.println("未找到该宿舍!");
}
// 查询宿舍信息
public static void queryDormitory() {
Scanner input = new Scanner(System.in);
System.out.print("请输入要查询的宿舍号:");
String number = input.next();
for (Dormitory dormitory : dormitories) {
if (dormitory.getNumber().equals(number)) {
System.out.println("宿舍号\t楼层\t床位数");
System.out.println(dormitory.getNumber() + "\t" + dormitory.getFloor() + "\t" + dormitory.getCapacity());
return;
}
}
System.out.println("未找到该宿舍!");
}
// 入住管理模块
public static void checkInManagement() {
Scanner input = new Scanner(System.in);
System.out.print("请输入要入住的学生学号:");
String id = input.next();
for (Student student : students) {
if (student.getId().equals(id)) {
System.out.print("请输入要入住的宿舍号:");
String number = input.next();
for (Dormitory dormitory : dormitories) {
if (dormitory.getNumber().equals(number)) {
if (dormitory.getAvailableCapacity() == 0) {
System.out.println("该宿舍已满!");
return;
}
student.setDormitory(dormitory);
dormitory.addStudent(student);
System.out.println("入住成功!");
return;
}
}
System.out.println("未找到该宿舍!");
return;
}
}
System.out.println("未找到该学生!");
}
// 维修管理模块
public static void repairManagement() {
Scanner input = new Scanner(System.in);
System.out.print("请输入要维修的宿舍号:");
String number = input.next();
for (Dormitory dormitory : dormitories) {
if (dormitory.getNumber().equals(number)) {
System.out.print("请输入维修内容:");
String content = input.next();
dormitory.addRepairRecord(content);
System.out.println("维修申报成功!");
return;
}
}
System.out.println("未找到该宿舍!");
}
// 统计报表模块
public static void statisticReport() {
Scanner input = new Scanner(System.in);
while (true) {
System.out.println("统计报表");
System.out.println("1. 学生入住情况");
System.out.println("2. 宿舍维修情况");
System.out.println("0. 返回上一级菜单");
System.out.print("请选择操作:");
int choice = input.nextInt();
switch (choice) {
case 0:
return;
case 1:
studentCheckInReport();
break;
case 2:
dormitoryRepairReport();
break;
default:
System.out.println("输入有误,请重新选择!");
break;
}
}
}
// 学生入住情况统计报表
public static void studentCheckInReport() {
System.out.println("学号\t姓名\t性别\t年龄\t班级\t宿舍号\t楼层\t床位数");
for (Student student : students) {
Dormitory dormitory = student.getDormitory();
if (dormitory != null) {
System.out.println(student.getId() + "\t" + student.getName() + "\t" + student.getGender() + "\t" + student.getAge() + "\t" + student.getClassName() + "\t" + dormitory.getNumber() + "\t" + dormitory.getFloor() + "\t" + dormitory.getCapacity());
}
}
}
// 宿舍维修情况统计报表
public static void dormitoryRepairReport() {
System.out.println("宿舍号\t楼层\t床位数\t维修记录");
for (Dormitory dormitory : dormitories) {
System.out.print(dormitory.getNumber() + "\t" + dormitory.getFloor() + "\t" + dormitory.getCapacity());
for (String repairRecord : dormitory.getRepairRecords()) {
System.out.print("\t" + repairRecord);
}
System.out.println();
}
}
}
class Student {
private String id;
private String name;
private String gender;
private int age;
private String className;
private Dormitory dormitory;
public Student(String id, String name, String gender, int age, String className) {
this.id = id;
this.name = name;
this.gender = gender;
this.age = age;
this.className = className;
}
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 getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
public Dormitory getDormitory() {
return dormitory;
}
public void setDormitory(Dormitory dormitory) {
this.dormitory = dormitory;
}
}
class Dormitory {
private String number;
private int floor;
private int capacity;
private ArrayList<Student> students = new ArrayList<>();
private ArrayList<String> repairRecords = new ArrayList<>();
public Dormitory(String number, int floor, int capacity) {
this.number = number;
this.floor = floor;
this.capacity = capacity;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public int getFloor() {
return floor;
}
public void setFloor(int floor) {
this.floor = floor;
}
public int getCapacity() {
return capacity;
}
public void setCapacity(int capacity) {
this.capacity = capacity;
}
public int getAvailableCapacity() {
return capacity - students.size();
}
public void addStudent(Student student) {
students.add(student);
}
public ArrayList<String> getRepairRecords() {
return repairRecords;
}
public void addRepairRecord(String content) {
repairRecords.add(content);
}
}
```
注意,这只是一个简单的示例代码,实际开发中还需要根据需求进行适当的修改和完善。同时,还需要进行数据存储和界面设计等方面的开发。