java实现叫号系统,并记录每一个人当前的号
时间: 2023-05-26 16:01:26 浏览: 235
java做的打电话系统
4星 · 用户满意度95%
码和等待时间,可以怎样实现?
A:可以使用队列(Queue)来实现叫号系统。具体实现如下:
1. 创建一个包含两个属性的Person类,一个是号码(number),一个是等待时间(waitTime)。
2. 创建一个队列(Queue),用于记录所有正在等待的人员。
3. 生成号码的方法:每有一个人到达,就从队列中取出队列头部的人员,获取其号码(通过队列长度加1)并记录当前时间为该人员的到达时间,并将该人员对象添加到队列中。如果队列为空,则说明当前为第一位等待的人员,号码直接设为1。
4. 为每一个人员的等待时间计时:每隔一段时间,遍历队列中的所有人员,将其等待时间加上该时间段,即可得到该人员的实时等待时间(可以使用Timer/TimerTask/TimerSchedule来实现定时器)。
5. 取号和查询号码的方法:用户到达时,调用“生成号码”方法来获取自己的号码。如果需要查询当前号码,可以直接从队列长度中获取(即当前正在等待的人员数加1)。
6. 注销用户的方法:当一位用户完成业务,其将从队列第一位出来,可以将其从队列中删除,同时将其从等待时间计时器中移除。
7. 编写测试代码,测试以上功能是否正常。
注意:以上仅是一种可行的实现方式,实际情况可能还需要考虑更多细节问题。
阅读全文