电梯调度算法

电梯调度算法

ID:20421818

大小:140.00 KB

页数:16页

时间:2018-10-13

电梯调度算法_第1页
电梯调度算法_第2页
电梯调度算法_第3页
电梯调度算法_第4页
电梯调度算法_第5页
资源描述:

《电梯调度算法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、目录一、算法设计11.算法思想12.运行环境13.问题描述1二、实验步骤及方法1三、源程序代码1四、运行结果图14五、课程总结1515一、算法设计1.算法思想本算法设计一部电梯,通过往返寻找方法,即先查询电梯运行方向的楼层是否存在有其他键被按下,有就继续往该方向运行,如果没有就查询电梯运行反方向的楼层是否有按键被按下,如果有电梯就改变方向,反方向运行。如果没有电梯就停止在该楼层,30秒后如果没有任何键被按下,电梯就自动返回1楼停住。同时,电梯乘客所去的楼层方向与电梯当前方向一致的话,则电梯优先搭载该乘客。随后再搭载去反方向的乘客,以此实现电梯的升降操作。2.运行环境本

2、程序用java语言、eclipse平台编写。3.问题描述电梯调度算法的基本原则就是如果在电梯运行方向上有人要使用电梯则继续往那个方向运动,如果电梯中的人还没有到达目的地则继续向原方向运动。具体而言,如果电梯现在朝上运动,如果当前楼层的上方和下方都有请求,则先响应所有上方的请求,然后才向下响应下方的请求;反之。二、实验步骤及方法1.由于鼠标单击每个楼层按钮时,需要作出相应的动作,所以我们使用jbutton按钮类,通过jbutton的单击事件来模拟楼层按钮并通过改变颜色来表示按钮是否被按下2.使用数组存储每个按钮的状态,1表示被按下,0表示未被按下。用于电梯是否到达目标层

3、的判断,及按钮颜色的刷新判断;3.“电梯”也是一个jbutton类,通过改变颜色来模拟电梯的运行,需要在此类中设置一个方向值,用0,1,2分别表示电梯的停止向上向下运行。三、源程序代码importjava.awt.Color;importjava.awt.Container;importjava.awt.Font;importjava.awt.GridLayout;15importjava.awt.TextField;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importj

4、ava.awt.event.ItemEvent;importjava.awt.event.ItemListener;importjava.util.*;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.Timer;publicclassLifta{/***@paramargs*/publicstaticvoidmain(String[]args){Brickbrick=newBrick();}}classBrick{//方块类pub

5、licintoctime=0;//计算开关门事件。publicintj=0;publicStringclosedoor="关门";publicStringclose="关";publicStringopen="开";JFrameframe=newJFrame("电梯调度算法");JPanelpan=newJPanel();JButtonbut=null;JButtonsign=newJButton(+j+"楼");JButtonopenclose=newJButton(closedoor+"");JButtonopenkey=newJButton(open+"");J

6、Buttonclosekey=newJButton(close+"");15publicArrayListblackBrick;;//brick用来依次存放button,程序用button显示蓝色表示有电梯的当前位置。publicArrayListcontrolBrick;//controlBrick用来依次存放button,表示每层楼电梯口的是上键和下键,程序用button显示绿色表示对应键被按下。publicint[][]controlTable;//用二维数组controlTable与电梯口的上下键对应,其中如果值1表示button应显示绿色,值0表示butto

7、n应显示灰色。publicArrayListnumberBrick;//numberBrick用来依次存放button,程序用button显示桔黄色表示电梯内的数字键被按下。publicint[]table;//用二维数组table与电梯内的数字键对应,其中如果值1表示button应显示桔黄色,值0表示button应显示灰色。publicint[]upSignalTable;//纪录向上任务的任务数组,值为1表示相应位的上键被按下。publicint[]downSignalTable;//纪录向下任务的任务数组,值为1表示相应位的下键被按下。publ

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。