宿舍管理系统Java类和接口的设计具体代码
时间: 2024-03-25 16:42:05 浏览: 19
以下是一个简单的宿舍管理系统Java类和接口的设计代码:
```java
// Student.java 学生类
public class Student {
private int id;
private String name;
private int roomId;
private int bedId;
public Student(int id, String name, int roomId, int bedId) {
this.id = id;
this.name = name;
this.roomId = roomId;
this.bedId = bedId;
}
// getter and setter methods
}
// Room.java 房间类
public class Room {
private int id;
private int capacity;
private List<Integer> bedIds;
private List<Integer> studentIds; // 学生ID列表,-1表示这个床位没有学生
public Room(int id, int capacity) {
this.id = id;
this.capacity = capacity;
this.bedIds = new ArrayList<Integer>();
this.studentIds = new ArrayList<Integer>();
for (int i = 0; i < capacity; i++) {
this.bedIds.add(i);
this.studentIds.add(-1);
}
}
// getter and setter methods
public void addStudent(Student student, int bedId) {
student.setRoomId(this.id);
student.setBedId(bedId);
int index = this.bedIds.indexOf(bedId);
this.studentIds.set(index, student.getId());
}
public void removeStudent(int bedId) {
int index = this.bedIds.indexOf(bedId);
this.studentIds.set(index, -1);
}
}
// DormitoryManager.java 宿舍管理接口
public interface DormitoryManager {
public List<Room> getRooms();
public Room getRoom(int id);
public void addRoom(Room room);
public void removeRoom(int id);
public void addStudent(Student student, int roomId, int bedId);
public void removeStudent(int studentId);
}
// DormitoryManagerImpl.java 宿舍管理接口实现类
public class DormitoryManagerImpl implements DormitoryManager {
private List<Room> rooms;
public DormitoryManagerImpl() {
this.rooms = new ArrayList<Room>();
}
// 实现接口方法
public List<Room> getRooms() {
return this.rooms;
}
public Room getRoom(int id) {
for (Room room : this.rooms) {
if (room.getId() == id) {
return room;
}
}
return null;
}
public void addRoom(Room room) {
this.rooms.add(room);
}
public void removeRoom(int id) {
Room room = getRoom(id);
if (room != null) {
this.rooms.remove(room);
}
}
public void addStudent(Student student, int roomId, int bedId) {
Room room = getRoom(roomId);
if (room != null) {
room.addStudent(student, bedId);
}
}
public void removeStudent(int studentId) {
for (Room room : this.rooms) {
List<Integer> studentIds = room.getStudentIds();
int index = studentIds.indexOf(studentId);
if (index != -1) {
room.removeStudent(room.getBedIds().get(index));
}
}
}
}
```
以上代码实现了一个简单的宿舍管理系统,包含了学生类、房间类、宿舍管理接口和宿舍管理接口实现类。你可以根据实际需求进行修改和扩展。