用java编写一个办事大厅
时间: 2023-09-20 15:05:14 浏览: 43
好的,我可以为您提供一个简单的Java代码示例,用于模拟一个办事大厅的基本功能:
```java
import java.util.LinkedList;
public class Hall {
private LinkedList<Person> queue = new LinkedList<>(); // 用链表实现队列
public void addPerson(Person person) { // 添加一个人到队列末尾
queue.add(person);
}
public Person getNextPerson() { // 获取下一个要服务的人,即队列头
return queue.poll();
}
public int getQueueSize() { // 获取当前队列中的人数
return queue.size();
}
public static void main(String[] args) {
Hall hall = new Hall();
hall.addPerson(new Person("Tom"));
hall.addPerson(new Person("Jerry"));
hall.addPerson(new Person("Alice"));
while (hall.getQueueSize() > 0) {
Person person = hall.getNextPerson();
System.out.println("正在为" + person.getName() + "服务...");
// 省略服务过程
System.out.println(person.getName() + "已完成服务,离开大厅。");
}
}
}
class Person {
private String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
```
示例中实现了一个简单的办事大厅,使用了一个链表作为队列,可以添加人到队列末尾,获取下一个要服务的人并从队列中移除,以及获取当前队列中的人数。在`main`函数中模拟了服务过程,依次为每个人提供服务并将其移出队列。