使用JAVA语言写一个排队叫号的小程序

以下是一个简单的排队叫号的小程序,使用JAVA语言实现。

import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;public class NumberingSystem {public static void main(String[] args) {Queue<String> queue = new LinkedList<>(); // 创建队列Scanner scanner = new Scanner(System.in);while (true) {System.out.println("请输入您需要办理的业务(1号窗口/2号窗口/3号窗口/4号窗口/退出):");String input = scanner.next();if ("退出".equals(input)) {System.out.println("程序已退出");break;} else if ("1号窗口".equals(input) || "2号窗口".equals(input) || "3号窗口".equals(input) || "4号窗口".equals(input)) {queue.offer(input); // 将业务加入队列System.out.println("您已成功加入排队序列,当前您所在的位置是 " + queue.size());} else {System.out.println("输入有误,请重新输入!");}}while (!queue.isEmpty()) { // 循环叫号String currentBusiness = queue.poll(); // 取出队首元素System.out.println("请 " + currentBusiness + " 办理业务,当前还有 " + queue.size() + " 个人在等待");}}
}

程序的运行过程如下:

请输入您需要办理的业务(1号窗口/2号窗口/3号窗口/4号窗口/退出):
1号窗口
您已成功加入排队序列,当前您所在的位置是 1
请输入您需要办理的业务(1号窗口/2号窗口/3号窗口/4号窗口/退出):
3号窗口
您已成功加入排队序列,当前您所在的位置是 2
请输入您需要办理的业务(1号窗口/2号窗口/3号窗口/4号窗口/退出):
退出
程序已退出
请 1号窗口 办理业务,当前还有 1 个人在等待
请 3号窗口 办理业务,当前还有 0 个人在等待

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/187135.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PCB布线为什么不能走直角或锐角-笔记

PCB布线为什么不能走直角或锐角-笔记 摘要一.PCB走线在直角转弯的地方&#xff0c;信号前后部分相互影响这几个理由我们来一一分析一下传输线的直角带来的寄生电容从阻抗的角度来看直角的尖角产生放电或者电磁辐射走线直角的工艺问题 摘要 有一定熟悉画过PCB板的人或者PCB教学…

Linux常用命令——mv命令

文章目录 1. 简介2. 命令格式3. 主要参数4. 常见用法及示例4.1 移动文件4.2 重命名文件4.3 交互式移动文件4.4 强制移动文件4.5 移动多个文件4.6 使用通配符移动文件 5. 注意事项6. 结论 1. 简介 mv 命令在Linux系统中用于移动文件或目录&#xff0c;同时也可以用于重命名文件…

【js】如何在不指定具体属性名,而是通过变量获取属性名,设置一个对象中多层级下的某个属性的值

为了优化这种赋值方式&#xff0c;可以考虑使用ES6的解构和展开运算符。 首先&#xff0c;我们可以使用解构运算符来提取需要赋值的变量&#xff0c;以增加代码的可读性和简洁性&#xff1a; const { ContainerKey, formId } obj; obj[ContainerKey][formId[0]][formId[1]] …

Ubuntu Server 20.04.6下Anaconda3安装Pytorch

环境 Ubuntu 20.04.6 LTS Anaconda3-2023.09-0-Linux-x86_64.sh conda 23.7.4 Pytorch 1.11.0 安装 先创建一个工作环境&#xff0c;环境名叫lia&#xff1a; conda create -n lia python3.8环境的使用方法如下&#xff1a; conda activate lia # 激活环境 conda deactiv…

【Java 基础 - 泛型机制详细解释】

Java 基础 - 泛型机制详解 为什么会引入泛型泛型的基本使用 泛型类泛型接口泛型方法泛型的上下限泛型数组深入理解泛型 如何理解Java中的泛型是伪泛型&#xff1f;泛型中类型擦除如何证明类型的擦除呢&#xff1f;如何理解类型擦除后保留的原始类型?如何理解泛型的编译期检查&…

查看Hive表信息及占用空间的方法

一、Hive下查看数据表信息的方法 方法1&#xff1a;查看表的字段信息 desc table_name; 方法2&#xff1a;查看表的字段信息及元数据存储路径 desc extended table_name; 方法3&#xff1a;查看表的字段信息及元数据存储路径 desc formatted table_name; 方法4&#xff1a;…

NetApp AFF A800:为人工智能、深度学习和大数据分析提供动力

NetApp AFF A800&#xff1a;为发挥混合云的最大优势提供动力 您对数据的掌控能力将决定您能否在数字化时代取得成功。借助作为全球速度最快的企业级 NVMe 闪存存储之一的 NetApp AFF A800&#xff0c;您可以突破性能的限制。通过行业领先的云集成&#xff0c;您可以管理从边缘…

Linux:docker的数据管理(6)

数据管理操作*方便查看容器内产生的数据 *多容器间实现数据共享 两种管理方式数据卷 数据卷容器 1.数据卷 数据卷是一个供容器使用的特殊目录&#xff0c;位于容器中&#xff0c;可将宿主机的目录挂载到数据卷上&#xff0c;对数据卷的修改操作立刻可见&#xff0c;并且更新数…

Springboot快速整合kafka

kafka的基本了解 kafka也是 目前常用的消息中间件,支持同步与异步通信,和rabbitmq一样,工作模式大概相同,并且被spingboot整合的后的都是 中间件Template的实列化客户端类 ,消费者监听注解为KafkaListener,和RabbitListener和很相似,这些消息中间件使用过后,发现大致都是相同的…

基于AT89C51单片机的节日彩灯门设计

1&#xff0e;设计任务 本设计采用单片机为主控芯片&#xff0c;结合外围电路组成彩灯门的控制系统器&#xff0c;用来控制16个彩色的LED发光&#xff0c;实现彩色亮点的循环移动&#xff1b;通过软件编程实现各种各样的彩色亮点平面循环移动&#xff0c;该彩色控制器可以通过输…

fastapi 后端项目目录结构 mysql fastapi 数据库操作

原文&#xff1a;fastapi 后端项目目录结构 mysql fastapi 数据库操作_mob6454cc786d85的技术博客_51CTO博客 一、安装sqlalchemy、pymysql模块 pip install sqlalchemy -i https://pypi.tuna.tsinghua.edu.cn/simple pip install pymysql -i https://pypi.tuna.tsinghua.edu.…

IDE1007:当前上下文中不存在名称“xxx“

这种在Halcon中直接导出的代码不能直接放程序中&#xff0c;应该在控件中比如一个按钮中&#xff0c;就不会出错了。

【驱动】SPI驱动分析(五)-模拟SPI驱动

简介 模拟SPI驱动是一种软件实现的SPI总线驱动。在没有硬件SPI控制器的系统中&#xff0c;通过软件模拟实现SPI总线的功能。它允许在不修改硬件的情况下&#xff0c;通过GPIO&#xff08;通用输入/输出&#xff09;引脚模拟SPI总线的通信&#xff0c;从而与SPI设备进行数据交换…

单片机学习12——电容

电容的作用&#xff1a; 1&#xff09;降压作用&#xff1a; 容抗&#xff1a; Xc 1/2fc 串联分压原理。2100Ω的容量&#xff0c;50Hz的频率&#xff0c;可以得到1.5uF。断电之后&#xff0c;需要串联一个1MΩ的电阻放电。 那是不是可以使用2100欧姆的电阻来代替电容呢&am…

Redis基础系列-安装Redis

Redis基础系列-安装Redis 文章目录 Redis基础系列-安装Redis1. 环境要求2. 下载redis3. 安装4. 配置5 参考与感谢 1. 环境要求 &#xff08;安装C语言编译环境&#xff09;redis是用C语言开发的&#xff0c;所以需要安装C语言编译环境,中途可能会出现询问你是否需要可以安装&a…

useDispatch和store.dispatch

在 React 中&#xff0c;useDispatch 是 React Redux 提供的一个 hook&#xff0c;而 store.dispatch 是 Redux 中的一个方法。它们的作用是触发 Redux 中的 action&#xff0c;从而更新状态。下面是它们之间的主要区别&#xff1a; 使用场景&#xff1a; useDispatch: 这是 Re…

DS八大排序之直接选择排序和堆排序

前言 上一期我们已经介绍了&#xff0c;排序、为什么要有排序以及排序在实际生活中的应用。并且介绍并实现了直接插入排序和它的优化即希尔排序~&#xff01;本期我们再来学习一组排序 ---- "选择排序"即直接选择排序和堆排序~&#xff01; 本期内容介绍 直接选择排…

【机器视觉技术栈】- 机器视觉基础

1.1 为什么采用机器视觉 人眼与机器视觉对比 人眼机器视觉精确性差&#xff0c;64灰度级&#xff0c;不能分辨小于100微米的目标强&#xff0c;256灰度级&#xff0c;可检测微米级目标速度慢&#xff0c;无法看清间隔小于40毫秒的运动目标快&#xff0c;快门时间可达10微秒适…

操作系统背景知识

一、程序分类 程序按其运行环境分为&#xff1a; 裸机程序&#xff1a;直接运行在对应硬件上的程序 应用程序&#xff1a;只能运行在对应操作系统上的程序 二、计算机系统的层次结构 计算机系统两种层次结构&#xff1a; 2.1 无操作系统的简单的两层结构 2.2 有操作系统的…

企业软件的分类有哪些|app小程序定制开发

企业软件的分类有哪些|app小程序定制开发 企业软件是指为了满足企业运营和管理需求而开发的软件系统。根据不同的功能和应用领域&#xff0c;企业软件可以分为以下几个分类&#xff1a; 1. 企业资源计划&#xff08;Enterprise Resource Planning&#xff0c;ERP&#xff09;软…