Java实例06-银行取票机

利用队列实现一个取票机,输入一个名字返回一个号码

调用的队列详见:https://www.cnblogs.com/TSCCG/p/14797860.html

主类:

package bank;

import queue.SuperQueue;

import java.util.Scanner;


/**
 * 银行取票机
 * @Author TSCCG
 * @Date 2021/5/22 8:47
 */

public class TellerMachine<T> {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        SuperQueue<Integer> su = new SuperQueue<>();
        int startNumber = 1;
        while (true) {
            //一次压5个数据入栈
            for (int i = startNumber; i < startNumber + 5; i++) {
                su.push(i);
            }
            //弹全部数据出去并读取每次弹的数据
            while (!su.isEmpty()) {
                System.out.println("请输入您的姓名");
                String name = sc.next();
                System.out.println(name + "您的号码是:" + su.pop());

            }
            //弹完全部数据后startNumber此时为1,给它再加5代替弹出去的数据
            startNumber += 5;
        }

    }
}

结果:

请输入您的姓名
张三
张三您的号码是:1
请输入您的姓名
李四
李四您的号码是:2
请输入您的姓名
王五
王五您的号码是:3
请输入您的姓名
赵六
赵六您的号码是:4
请输入您的姓名
拉拉
拉拉您的号码是:5
请输入您的姓名
阿巴
阿巴您的号码是:6
请输入您的姓名
阿巴阿巴
阿巴阿巴您的号码是:7
请输入您的姓名
阿巴阿巴阿巴
阿巴阿巴阿巴您的号码是:8
请输入您的姓名
posted @ 2021-05-22 15:03  TSCCG  阅读(85)  评论(0编辑  收藏  举报