Java实现会议室预约和审核的代码实现
时间: 2023-12-06 21:45:38 浏览: 36
以下是一个简单的 Java 代码实现会议室预约和审核的示例:
```java
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class MeetingRoom {
private String name;
private List<Meeting> meetings;
public MeetingRoom(String name) {
this.name = name;
meetings = new ArrayList<>();
}
public boolean reserveMeeting(Date start, Date end, String organizer) {
for (Meeting meeting : meetings) {
if (meeting.getStart().before(end) && meeting.getEnd().after(start)) {
return false;
}
}
meetings.add(new Meeting(start, end, organizer));
return true;
}
public boolean cancelMeeting(Date start, String organizer) {
for (Meeting meeting : meetings) {
if (meeting.getStart().equals(start) && meeting.getOrganizer().equals(organizer)) {
meetings.remove(meeting);
return true;
}
}
return false;
}
public void printMeetings() {
for (Meeting meeting : meetings) {
System.out.println(meeting);
}
}
}
class Meeting {
private Date start;
private Date end;
private String organizer;
public Meeting(Date start, Date end, String organizer) {
this.start = start;
this.end = end;
this.organizer = organizer;
}
public Date getStart() {
return start;
}
public Date getEnd() {
return end;
}
public String getOrganizer() {
return organizer;
}
@Override
public String toString() {
return "Meeting{" +
"start=" + start +
", end=" + end +
", organizer='" + organizer + '\'' +
'}';
}
}
class MeetingReservationSystem {
private List<MeetingRoom> rooms;
public MeetingReservationSystem() {
rooms = new ArrayList<>();
}
public void addRoom(MeetingRoom room) {
rooms.add(room);
}
public MeetingRoom getRoom(String name) {
for (MeetingRoom room : rooms) {
if (room.getName().equals(name)) {
return room;
}
}
return null;
}
public static void main(String[] args) {
MeetingReservationSystem system = new MeetingReservationSystem();
MeetingRoom room1 = new MeetingRoom("Room 1");
MeetingRoom room2 = new MeetingRoom("Room 2");
system.addRoom(room1);
system.addRoom(room2);
room1.reserveMeeting(new Date(2022, 10, 1, 10, 0), new Date(2022, 10, 1, 11, 0), "Alice");
room1.reserveMeeting(new Date(2022, 10, 1, 11, 0), new Date(2022, 10, 1, 12, 0), "Bob");
room2.reserveMeeting(new Date(2022, 10, 1, 14, 0), new Date(2022, 10, 1, 15, 0), "Charlie");
room2.reserveMeeting(new Date(2022, 10, 1, 15, 0), new Date(2022, 10, 1, 16, 0), "David");
room1.printMeetings();
room2.printMeetings();
room1.cancelMeeting(new Date(2022, 10, 1, 10, 0), "Alice");
room2.cancelMeeting(new Date(2022, 10, 1, 15, 0), "Charlie");
room1.printMeetings();
room2.printMeetings();
}
}
```
在这个示例中,会议室被表示为 `MeetingRoom` 对象,每个会议被表示为 `Meeting` 对象。`MeetingReservationSystem` 类是一个管理多个会议室的系统。
`MeetingRoom` 类实现了 `reserveMeeting` 方法来预约会议,`cancelMeeting` 方法来取消会议,以及 `printMeetings` 方法来打印当前预约情况。
在 `MeetingReservationSystem` 类的 `main` 方法中,我们创建了两个会议室,并使用 `reserveMeeting` 方法预约了几个会议。然后使用 `printMeetings` 方法打印了每个会议室的当前预约情况。最后,我们使用 `cancelMeeting` 方法取消了两个已经预约的会议,并再次打印了当前预约情况。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)