1、对列类
public class Queue<T> {
/**
* 维护一个超级数组
*/
SuperArray<T> superArray = new SuperArray<>();
/**
* 入(压)栈的方法
*/
public void put(T data){
superArray.add(data);
}
/**
* 弹栈的方法
* @return
*/
public T take(){
if (superArray.size() >= 1){
T temp = superArray.get(0);
superArray.delete(0);
return temp;
}
return null;
}
public boolean isNotEmpty() {
// 大于0不是空返回true,小于0是空返回false
return superArray.size() > 0;
}
}
2、Bank类
/**
* 银行取票机
* 2021.5.7
*/
public class Bank {
public static void main(String[] args) {
Queue<Integer> queue = new Queue<>();
int startNumber = 1;
while (true) {
// 加号
for (int i = startNumber; i < startNumber + 5; i++) {
queue.put(i);
}
// 消费号码
while (queue.isNotEmpty()) {
System.out.print("请输入您的姓名:" );
Scanner scanner = new Scanner(System.in);
String name = scanner.next();
System.out.println(name + "朋友,您的号码是:" + queue.take());
System.out.println();
}
// 消费结束后加5个号码
startNumber +=5;
}
}
}