基于Java语言的电梯调度模拟程序

本文介绍了基于Java语言的电梯调度模拟程序设计。程序采用MVC架构,关键类包括ElevatorGUI负责界面布局,ElevatorController作为核心控制类实现多线程运行,以及Elevator类表示电梯实体。ElevatorController中通过findProperUpElevator和findProperDownElevator方法寻找最优电梯响应按钮操作。
摘要由CSDN通过智能技术生成

一 需求分析

某一栋楼有20层,有5部互联的电梯。基于线程的思想,编写一个电梯调度程序。这五部电梯项目联结,即当一个电梯按钮按下去时,其它电梯相应按钮同时点亮,表示也按下去了。

二 程序设计

本项目采用MVC的思想构建。

关键类的设计如下:

2.1 ElevatorGUI类

这个类主要负责主界面的布局,并将它代理给ElevatorController,使得某些监听事件的逻辑添加可以写在ElevatorController中。其中的函数方法都用于UI设置。

类图如下:

2.2 ElevatorController类

这个类是核心控制类(Controller),继承自Thread类,重写run(),多线程运行。

类图如下:

view: controller对应的view

elevators: 用于储存五个电梯的数组

upButtons: 储存向上按键的数组,便于在controller中添加数据

downButtons: 储存向下按键的数组

upStatus: 记录对应的向上按键是否被按下

downStatus: 记录对应的向下按键是否被按下

showView(): 显示view

run(): 重写Thread中run()

addFloorButtons(): 添加主界面左侧控制中心的所有按钮

addElevator(): 添加五部电梯

findProperUpElevator(int floorNum): 按下向上按键后寻找最优的电梯

findProperDownElevator(int floorNum): 按下向

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值