Java实现就诊排队叫号系统(使用ArrayList集合实现)

以患者到医院就诊为背景,使用列表对象(ArrayList)和泛型机制实现就诊排队叫号系统。要求如下:

  1. 定义叫号器类QueueCaller,包含成员变量ArrayList类型的queue(排队对象)。该类实现功能如下:a)患者取号排队方法fetchNumber,加入等待队列,并显示当前等待人数;b) 实现负责叫号方法callNumber,叫号后移除排队首患者,并显示其他等候人员。(注意:要求列表中以字符串类型存储患者姓名。)
  2. 编写测试类,实现下图效果: 代码实现:
import java.util.ArrayList;

class QueueCaller {
          
   
    private ArrayList<String> queue;

    public QueueCaller() {
          
   
        queue = new ArrayList<String>();
    }

    public int size() {
          
   
        return queue.size();
    }

    public void fetchNumber(String patient) {
          
   
        queue.add(patient);
        System.out.println(patient + "前面还有" + (size() - 1) + "位在等候就诊");
    }

    public void callNumber(int idx) {
          
   
        System.out.println("请患者:" + queue.get(idx) + "到诊室就诊!");
        for (int i = idx + 1; i < queue.size(); i++)
            System.out.println(queue.get(i) + "候诊中");
    }
}

//测试类
public class Test {
          
   
    public static void main(String[] args) {
          
   
        QueueCaller qc= new QueueCaller();
        for(int i=1;i<=3;i++){
          
   
            qc.fetchNumber("张三-"+i);
        }
        int cnt = 0;
        while(cnt<qc.size()){
          
   
            qc.callNumber(cnt);
            cnt++;
        }
    }
}
经验分享 程序员 微信小程序 职场和发展