应王老师的作业要求,杨康和苏康奖于最经几天对学校里的电梯进行一定的调查,我们也经过了一些讨论看以后程序中的一些功能如何实现。
对学校办公楼的电梯进行的调查结果:电梯从一层到十一层,一共四台电梯,每台电梯限载十三人、限重九百公斤,电梯开关门时间约三秒,每名乘客上下电梯的时间约为三秒,电梯每上一层的时间约为三秒。
作业中电梯调度中的要求:大厦有21层, 4部电梯,很多乘客使用这些电梯的日常(旅客重量:平均70公斤,最大120公斤,最小45公斤)。其他常量数据:电梯速度,开/关门时间,乘客的时间要在/走出电梯。
我们在电梯调度程序中定义了一些类来完成要求的功能:
- public class Person //(人类)初始化时人的体重随机产生于45-120kg之间,随机前往除所在楼层之外的其他楼层。
- public class Floor /(楼层类) 初始化时随机出现若干person的对象,且每个楼层都有人按电梯。
3. public class Elevator //(电梯类) 初始化时其所在楼层onFloor为-1,电梯类里嵌套一个Gate类,用Gate类来控制开关门,当门关住后用isSofe类进行判断看电梯是否超载并提醒超载。
还对某些电梯运行中的过程经行了讨论,得到的结论有:
- 1. 当电梯里没人时且没人按电梯时,电梯停在最后所停的楼层。
- 2. 电梯不运行时,有人在电梯为按所有电梯按键,用一个函数进行优先级判断,最近的电梯下来。
- 3. 当电梯运行到中间时,上下都有人按电梯,电梯运行顺序用一个程序进行安排,按行进方向先后顺序,有人停,没人走,在这个顺序中有人按电梯才停。
以上为我们两个讨论之后的初步结果,程序编写时可能会根据实际情况经行适当改变。