模拟叫号看病 Java 实现指南
简介
在医院看病时,通常会有一个叫号系统来告诉患者轮到他们就诊的顺序。本文将指导一位刚入行的小白如何使用 Java 实现一个简单的模拟叫号看病系统。
流程概述
下面是整个流程的概述,我们将使用表格展示每个步骤。
步骤 | 描述 |
---|---|
1 | 创建一个医院类 |
2 | 创建一个叫号机类 |
3 | 创建一个患者类 |
4 | 将患者注册到叫号机 |
5 | 叫号机叫号 |
6 | 病人就诊 |
7 | 重复步骤 5 和 6 直到没有患者 |
具体步骤
步骤 1:创建一个医院类
首先,我们需要创建一个医院类,用于管理患者和叫号机。以下是一个简单的医院类示例:
public class Hospital {
private Queue<Patient> patientQueue;
public Hospital() {
patientQueue = new LinkedList<>();
}
public void registerPatient(Patient patient) {
patientQueue.add(patient);
}
public Patient getNextPatient() {
return patientQueue.poll();
}
}
在这个类中,我们使用了一个队列(Queue)来存储患者。在构造函数中,我们初始化了一个新的 LinkedList 来存储患者。我们还提供了两个方法,registerPatient 用于将患者注册到队列中,并且 getNextPatient 用于获取下一位患者。
步骤 2:创建一个叫号机类
接下来,我们需要创建一个叫号机类。叫号机将负责叫号,并通知患者就诊。以下是一个简单的叫号机类示例:
public class CallMachine {
private int currentNumber;
public CallMachine() {
currentNumber = 0;
}
public int callNumber() {
return ++currentNumber;
}
}
在这个类中,我们使用了一个计数器来表示当前叫号的号码。在构造函数中,我们将计数器初始化为 0。callNumber 方法会递增计数器并返回递增后的号码。
步骤 3:创建一个患者类
我们还需要创建一个患者类,用于表示每个患者,包括患者的姓名和叫号器号码。以下是一个简单的患者类示例:
public class Patient {
private String name;
private int number;
public Patient(String name, int number) {
this.name = name;
this.number = number;
}
public String getName() {
return name;
}
public int getNumber() {
return number;
}
}
在这个类中,我们有患者的姓名和叫号器号码两个成员变量,并提供了相应的 getter 方法来获取它们。
步骤 4:将患者注册到叫号机
现在我们已经创建了医院、叫号机和患者类,我们需要将患者注册到叫号机中。以下是一个示例代码:
public static void main(String[] args) {
Hospital hospital = new Hospital();
CallMachine callMachine = new CallMachine();
// 创建患者并注册到医院
Patient patient1 = new Patient("张三", callMachine.callNumber());
hospital.registerPatient(patient1);
Patient patient2 = new Patient("李四", callMachine.callNumber());
hospital.registerPatient(patient2);
Patient patient3 = new Patient("王五", callMachine.callNumber());
hospital.registerPatient(patient3);
}
在这个示例代码中,我们创建了一个医院实例和一个叫号机实例。然后,我们创建了几个患者实例,并将它们注册到医院中。注意,我们在创建患者时,调用了 callMachine 的 callNumber 方法来获取患者的叫号器号码。