[源码和文档分享]基于Java语言的电梯调度模拟程序

一 需求分析

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

二 程序设计

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

关键类的设计如下:

2.1 ElevatorGUI类

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

类图如下:

2.2 ElevatorController类

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

类图如下:

  1. view: controller对应的view
  2. elevators: 用于储存五个电梯的数组
  3. upButtons: 储存向上按键的数组,便于在controller中添加数据
  4. downButtons: 储存向下按键的数组
  5. upStatus: 记录对应的向上按键是否被按下
  6. downStatus: 记录对应的向下按键是否被按下
  7. showView(): 显示view
  8. run(): 重写Thread中run()
  9. addFloorButtons(): 添加主界面左侧控制中心的所有按钮
  10. addElevator(): 添加五部电梯
  11. findProperUpElevator(int floorNum): 按下向上按键后寻找最优的电梯
  12. findProperDownElevator(int floorNum): 按下向下按键后寻找最优的电梯

2.3 Elevator类


参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/1345.html

posted @ 2018-12-08 09:47  ggdd5151  阅读(415)  评论(0编辑  收藏  举报