Java 模拟电梯 1

前言

电梯,是我们生活中必不可少的一样东西。十几乃至数十层高的楼房,只要有了电梯,都可以迅速地抵达。

然而,正如生活中的大多数 黑匣子 科技一般,使用者大多不需要知晓其中的原理,会使用即可。我们并不知道电梯是如何运作的,但我们能很好的使用它。

不过,你真不好奇电梯它是怎么实现的吗?

电梯的组成要素

  • (在电梯外面等待的人,在电梯里面的人)
  • 消息序列(电梯里面的人点击的楼层按钮、电梯外面的人点击的上/下按钮都会产生消息,被电梯控制器收集)
  • 电梯发动机(为电梯的上下移动和开关门提供动力)
  • 电梯逻辑控制器(分析电梯的消息序列,指明下一步的运动趋势)
  • 电源开关(电梯需要电力才能运行)

在我的Java代码中,将 人、消息序列、电梯发动机、电梯逻辑控制器、电源开关 分别封装成了五个对象(People 类、WriteMsg 类、ElevatorGUI 类、ElevatorLogic 类、ElevatorStarter 类)。

Java Swing 实现效果展示

在这里插入图片描述
People 类: 定义一个乘电梯的人的基本信息(所在楼层、目标楼层)

WriteMsg 类: 随机生成一个人的基本信息,并将它写入到消息队列中

ElevatorGUI 类: 图形界面,相等于电梯的发动机。我们所能看到的电梯的移动都是通过这个类完成的

ElevatorLogic 类: 电梯的逻辑代码,分析电梯的上行和下行消息队列,确定电梯的下一步运动状态

ElevatorStart 类:主方法,用于运行 Java 程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值