Java实现模拟电梯上下楼

电梯需求

基于Java控制台模拟电梯上下楼

  • 电梯先随机停在一个楼层 有人按下按钮 电梯判断几楼按的去接人,人进入电梯按下几楼 电梯判断送人

代码部分

// An highlighted block
import java.util.Random;
import java.util.Scanner;/*** @author* @desc 基于Java控制台模拟电梯上下楼*        电梯先随机停在一个楼层 有人按下按钮 电梯判断几楼按的去接人,人进入电梯按下几楼 电梯判断送人* @env JDK 1.8* @version 1.0*/
public class LiftUpAndDown {public final static Scanner sc=new Scanner(System.in);public static void main(String[] args) throws InterruptedException {//随机设置电梯所处楼层Random random=new Random();//初始化电梯所在位置int source = random.nextInt(5)+1;while(true){//展示菜单menu(source);//获取键盘录入对象,模拟用户找寻电梯int arrive = sc.nextInt();//合理判断电梯运送范围if(arrive>0&&arrive<=6){System.out.println(arrive+"层有用户要使用电梯");//模拟电梯接人calculate(source,arrive);//当前电梯所在位置source=arrive;//获取键盘录入对象,模拟电梯送人System.out.println("请输入您将要到达几层,0表示取消使用");int arrivePeople = sc.nextInt();if (arrivePeople==0) break;//输入0时表示取消使用//电梯送人calculate2(source,arrivePeople);//更新电梯所在位置source=arrivePeople;}}}public static void calculate(int source, int arrive) throws InterruptedException {if(source>arrive){//  6   4System.out.println("电梯正在下降");for(int index1=source;index1>=arrive;index1--){if(index1==arrive){System.out.println("电梯已到达"+index1+"层请乘坐");break;}System.out.println("电梯到达"+index1+"层");Thread.sleep(1000);}}else if(source<arrive){//4   6System.out.println("电梯正在上升");for(int index2=source;index2<=arrive;index2++){if(index2==arrive){System.out.println("电梯已到达"+index2+"层请乘坐");break;}System.out.println("电梯到达"+index2+"层");Thread.sleep(1000);}}else {System.out.println("电梯已到达,请乘坐");}}public static int calculate2(int source, int arrive) throws InterruptedException {if(source>arrive){//  6   4System.out.println("电梯正在下降");for(int index1=source;index1>=arrive;index1--){if(index1==arrive){System.out.println("已到达");break;}System.out.println("电梯到达"+index1+"层");Thread.sleep(1000);}}else if(source<arrive){//4   6System.out.println("电梯正在上升");for(int index2=source;index2<=arrive;index2++){if(index2==arrive){System.out.println("已到达");break;}System.out.println("电梯到达"+index2+"层");Thread.sleep(1000);}}else {System.out.println("电梯已到达");}return source;}public static void menu(int stay_in_floor){System.out.println("****************欢迎使用电梯****************");System.out.println("*******电梯共6层");System.out.println("*******电梯当前正处于"+stay_in_floor+"层");System.out.println("****************欢迎使用电梯****************");}
}

随笔1

Java实现模拟电梯上下楼,初学者练手相关推荐

  1. c语言模拟器怎么打程序,C语言初学者练手小项目——万花模拟器

    原标题:C语言初学者练手小项目--万花模拟器 还记得小时候玩的万花尺么?好好玩,各种不同的点距能画出各种各样形状图形. C语言程序万花尺模拟 函数功能:每隔5秒随机生成万花图形 并自动保存作图参数以及 ...

  2. 【源码+教程】Java桌球游戏_Java初级项目_Java练手项目_Java项目实战_Java游戏开发

    今天分享的Java开源游戏项目是桌球游戏,初学者也可以用来练习喔~课程详细讲解了一个桌球游戏的编写思路和流程,即使你刚学Java没多久,也可以跟随该教程视频完成属于你自己的桌球游戏!同时,还可以加深和 ...

  3. python项目实例初学者-适合初学者练手的 10 个 有趣Python项目

    Python Python开发 Python语言 适合初学者练手的 10 个 有趣Python项目 想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以 ...

  4. python新手入门项目推荐_适合初学者练手的 10 个 有趣Python项目

    Python Python开发 Python语言 适合初学者练手的 10 个 有趣Python项目 想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以 ...

  5. 给python初学者的最好练手项目-适合初学者练手的 10 个 有趣Python项目

    Python Python开发 Python语言 适合初学者练手的 10 个 有趣Python项目 想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以 ...

  6. JAVA入门初学者练手小项目——图书管理系统

    一.登录操作(用户,管理员) 注册操作 user使用者类:客户customer,管理员admin两个子类 客户:继承自使用者 权利有 借书 还书 客户的资料信息要存放在user.txt里面, 管理员: ...

  7. 100个精选Python实战项目案例,初学者练手必备

    随着 Python 语言的流行,越来越多的人加入到了 Python 的大家庭中.为什么这么多人学 Python ?我要喊出那句话了:"人生苦短,我用 Python!",正是因为语法 ...

  8. win98 老电脑 文件导出_首次装电脑之前何不先模拟一番,这款练手神器可以帮你...

    对于老玩家来说,把各种硬件组成一台电脑,简直就像喝水吃饭那样简单.而第一次自己组装电脑的新玩家可没这么容易,毕竟从来没干过,即使看了许多的教程仍然心里没底.大家都是过来人,这种心情非常理解. 正所谓百 ...

  9. 适合初学者练手的vue小项目(附github源码)

    vue慢慢的成为了前端最受欢迎的框架之一,在很多项目之中开发都能用得到,如今也已经发展到3.0了,可能是因为这个框架可以提高工作效率,因此受到大家的追捧,在之前的文章里面也说过,2019年,大前端学习 ...

最新文章

  1. Spring Cloud(三):Eureka控制台参数说明
  2. 微软转型里程碑:云计算收入首次超过Windows业务
  3. 不是吧!程序员今年在相亲市场上这么受欢迎?
  4. ListT 循环修改其中的数据
  5. Spring 5.1.13 和 Spring Boot 2.2.3 发布
  6. 西点军校最贵一课:没强大内心的人,没资格谈人生
  7. java 大文件 md5_使用Java为大文件生成MD5非常慢
  8. Spring8:一些常用的Spring Bean扩展接口
  9. 一汽大众将召回3.7万辆存自燃隐患车辆
  10. mysql shell窗口操作的一个细节问题
  11. 全国哀悼日网站页面变成灰色的filter方法
  12. 总结一下用caffe跑图片数据的研究流程接上篇
  13. spring session过期时间设置
  14. 实验一:marlab安装调试
  15. python 删除文件夹中相似图片
  16. java小球挡板游戏_多线程的一个小球游戏,就是以前的那个Pong游戏
  17. WPF 自定义ToggleButton样式
  18. 学java选i5还是i7_选笔记本电脑,到底CPU是要选i5还是i7
  19. 手持天馈线测试仪基站测试分析专家
  20. 二层广播风暴(产生原因+判断+解决)

热门文章

  1. 计算机翻译turtle,turtle是什么意思_turtle翻译_读音_用法_翻译
  2. 中国智慧城市“热战”的2018 1
  3. NXP KL03--8. KL03 ISP升级失败,jlink_jflash 与keil 的erase flash数值不一致,主要是 0x40c 0x40d区别
  4. UWP 统一平台开发介绍
  5. 一个编程小白的Java SE学习日志 Ⅸ—— 图形界面GUI【极客BOY-米奇】
  6. 数据结构绪论、线性表——从零起步的数据结构学习日志1【极客BOY-米奇】
  7. [原创]PC微信发送消息研究
  8. c语言复数运算 除法,c语言 复数的运算
  9. 高等数学笔记-乐经良老师-第五章-积分(Ⅲ)-反常积分
  10. 静静观看 莆田系,南方科技大学 钉在耻辱柱上。