电梯调度

一、程序实现的功能

1) Main程序中进行初始化之后定义一个计时器,每秒钟执行一次遍历。根据程序条件,决定是否需要改变、改变成什么样的下状态。 

2) 人选择到达自己楼层最快的电梯,且该电梯能停到自己要到达的楼层。 

3) 如果出现多个人等待电梯时,每次电梯到达时从队列顺序上电梯,电梯满时停止。 

4)需要一秒钟激励一次,而且判断出如果所有的人都已经已经进入电梯,则停止。

5)如果出现超重现象则发出警报声,电梯停止。

二、设计思想

1) 程序要会判断模拟结束并自动停止,那么就必须定义一个变量表明已经调度结束的人的个数。 

2) 定义两个对象数组存放电梯对象的引用和已经创建的人的对象引用。对所有的对象进行遍历。

3) 时间控制:将所有的人和电梯的对象遍历一遍。 

4) 定义一个静态变量记录一个人上电梯所用的时间。

5)电梯运动的方向,-1表示向下,1表示向上。0表示电梯未被调度。 

6) 设计一个方法对电梯中人数的进行改动。要判断电梯是否有人上下:按先下后上的原则,改变电梯中的人,若无人上下,则判断电梯是否要静止?还是继续前进?

7) 当电梯满时,这个楼层中还有等待上电梯的人。让等的人重新选择电梯。 

8) 判断电梯沿某个方向是否还有人要上或者下电梯,没有但是在反向上有人上或者下,那么电梯就要进行反向运动。 

9)如果出现超重现象,电梯停止运行,等电梯重量不再超重后再次运行。

原文地址:https://www.cnblogs.com/luan/p/3591596.html