当前位置 : 主页 > 编程语言 > java >

16版.就诊时排队叫号

来源:互联网 收集:自由互联 发布时间:2022-07-17
MainClass public class MainClass { public static void main ( String [] args ) { // 创建默认叫号排队器 QueueCaller qc = new QueueCaller (); // 取3个号 for ( int i = 1 ; i = 3 ; i ++ ) { qc . fetchNumber ( "张山-" + i ); } while


MainClass

public class MainClass {
public static void main(String[] args) {
// 创建默认叫号排队器
QueueCaller qc = new QueueCaller();
// 取3个号
for (int i = 1; i <= 3; i++) {
qc.fetchNumber("张山-" + i);
}

while (qc.size() != 0) {
qc.callNumber();
// 显示候诊信息
qc.showPatients();
}
}
}

QueueCaller

package cn.campsg.java.experiment;

import java.util.ArrayList;

public class QueueCaller {
private ArrayList<String> queue;

public QueueCaller() {
//构造函数里创建实例
queue = new ArrayList<String>();
}

//获取容器中现有数量
public int size() {
return queue.size();
}

//向容器添加String类型的,此时第一个为就诊的,后面为等待就诊的
public void fetchNumber(String patient) {
queue.add(patient);
System.out.println(patient + "前面还有" + (size() - 1) + "位在等候就诊");
}

//这里是查看候诊中的
public void showPatients() {
if (queue.size() <= 1) {
return;
} else {
for (int i = 1; i <= queue.size() - 1; i++)
System.out.println(queue.get(i) + "候诊中");
}
}

//进行叫号,移除正在就诊的,然后进行呼叫下一个
public void callNumber() {
queue.remove(0);
if (queue.size() != 0)
System.out.println("请患者:" + queue.get(0) + "到诊室就诊!");
}
}

题目描述

1、实验要求

本实验要求:以医院排队叫号就诊为业务背景,训练Java列表对象(List)的应用场景。

1-1. 业务说明:

1-1.1. 本实验以患者到医院就诊为业务背景,患者取号排队,等待叫号。

1-1.2. 叫号器负责叫号,叫号后移除排队的队首患者,并显示其他候诊人。

1-2. 创建工程并配置环境:

1-2.1. 限制1. 创建实验工程,命名为:SE_JAVA_EXP_E039;

1-2.1. 限制2. 创建包,命名为:cn.campsg.java.experiment

1-3. 创建排队叫号器业务类:

1-3.1. 限制1. 在cn.campsg.java.experiment.包中创建排队叫号器业务类:

1) 类名:QueueCaller。

1-3.2. 为QueueCaller类创建私有属性,要求如下:

属性权限

属性名称


属性类型

属性说明

private

queue



ArrayList<String>

患者排队列表

泛型说明:队列中存储的是患者姓名(字符串类型)。

1-3.3. 为QueueCaller类创建0参构造器:


1) 在构造器内实例化患者排队列表(queue)。

1-3.4. 为QueueCaller类创建获取患者数量的方法,要求如下:

访问权限

方法名称

返回值

方法参数

参数说明

public

size

int





方法说明:本方法获得当前正在排队候诊的患者数量。

1-3.5. size方法的业务逻辑实现要求如下:

1) 从排队队列queue中获取有效长度。

1-3.6. 为QueueCaller类创建取号的方法,要求如下:

访问权限

方法名称

返回值

方法参数

参数说明

public

fetchNumber

void

String patient

取号的患者

方法说明:本方法将就诊患者加入到排队队列(queue)中。

1-3.7. fetchNumber方法的业务逻辑实现要求如下:

1) 将就诊患者加入到排队队列(queue)中;

2) 输出患者排队就诊信息,信息如下:

患者姓名 + "前面还有 " + 排队人数+ " 位在等候就诊。"

1-3.8. 为QueueCaller类创建显示候诊患者信息的方法,要求如下:

访问权限

方法名称

返回值

方法参数

参数说明

public

showPatients

void





方法说明:本方法显示所有正在排队的患者姓名。

1-3.9. showPatients方法的业务逻辑实现要求如下:

1) 获取排队的所有患者姓名;

2) 输出每位患者的姓名,信息内容:

患者姓名 + " 候诊中"

1-3.10. 为QueueCaller类创建叫号方法,要求如下:

访问权限

方法名称

返回值

方法参数

参数说明

public

callNumber

void





方法说明:按照取号顺序依次叫号。

1-3.11. callNumber方法的业务逻辑实现要求如下:

1) 从排队队列(queue)中返回队首患者姓名;

2) 移除队首患者(表示该患者已经就诊不在排队队列中)。

3) 输出被叫号的患者信息,信息内容:

"请患者:" + 患者姓名 + " 到诊室就诊!"

1-4. 显示模拟叫号就诊情况:

1-4.1. 限制1. 在cn.campsg.java.experiment包中创建主类:MainClass;

1-4.2. 为MainClass创建入口主方法:main。

1-4.3. 模拟3个患者排队就诊:

1) 在main方法中,创建1个排队叫号器(QueueCaller)对象;

2) 在main方法中,向叫号器对象存入3个患者姓名;

1-4.4. 模拟叫号:

1) 在main方法中,循环叫号直到没有就诊患者为止。

2) 每次叫号后均需显示正在排队的患者信息。


上一篇:Java上机操作练习题-助力期末
下一篇:没有了
网友评论