ImageVerifierCode 换一换
格式:DOC , 页数:17 ,大小:140KB ,
资源ID:3143259      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3143259.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电梯调度算法.doc)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

电梯调度算法.doc

1、0目录一、算法设计 .11算法思想 .12运行环境 .13问题描述 .1二、实验步骤及方法 .1三、源程序代码 .1四、运行结果图 .14五、课程总结 .151一、算法设计1算法思想本 算 法 设 计 一 部 电 梯 , 通 过 往 返 寻 找 方 法 , 即 先 查 询 电 梯 运 行 方 向 的 楼 层 是 否存 在 有 其 他 键 被 按 下 , 有 就 继 续 往 该 方 向 运 行 , 如 果 没 有 就 查 询 电 梯 运 行 反 方 向 的楼 层 是 否 有 按 键 被 按 下 , 如 果 有 电 梯 就 改 变 方 向 , 反 方 向 运 行 。 如 果 没 有 电 梯 就 停

2、止 在 该 楼 层 , 30秒 后 如 果 没 有 任 何 键 被 按 下 , 电 梯 就 自 动 返 回 1楼 停 住 。 同 时 , 电梯 乘 客 所 去 的 楼 层 方 向 与 电 梯 当 前 方 向 一 致 的 话 , 则 电 梯 优 先 搭 载 该 乘 客 。 随 后 再搭 载 去 反 方 向 的 乘 客 , 以 此 实 现 电 梯 的 升 降 操 作 。2运行环境本 程 序 用 java语 言 、 eclipse平 台 编 写 。3问题描述电 梯 调 度 算 法 的 基 本 原 则 就 是 如 果 在 电 梯 运 行 方 向 上 有 人 要 使 用 电 梯 则 继 续 往那 个 方

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

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

5、java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.util.*;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.Timer;public class Lifta/* param args*/public static void main(String args)Brick brick=new Brick(); class Brick /方块类public

6、int octime=0; /计算开关门事件。public int j=0;public String closedoor=“关门“;public String close=“关“;public String open=“开“;JFrame frame=new JFrame(“电梯调度算法“);JPanel pan=new JPanel();JButton but=null;JButton sign=new JButton(+j+“楼“);JButton openclose=new JButton(closedoor+“);JButton openkey=new JButton(open+“)

7、;JButton closekey=new JButton(close+“);3public ArrayList blackBrick; /brick用来依次存放button,程序用button显示蓝色表示有电梯的当前位置。public ArrayList controlBrick; /controlBrick用来依次存放button,表示每层楼电梯口的是上键和下键,程序用button显示绿色表示对应键被按下。public int controlTable; /用二维数组controlTable与电梯口的上下键对应,其中如果值1表示button应显示绿色,值0表示button应显示灰色。pub

8、lic ArrayList numberBrick; /numberBrick用来依次存放button,程序用button显示桔黄色表示电梯内的数字键被按下。public inttable; /用二维数组table与电梯内的数字键对应,其中如果值1表示button应显示桔黄色,值0表示button应显示灰色。public int upSignalTable; /纪录向上任务的任务数组,值为 1表示相应位的上键被按下。public int downSignalTable; /纪录向下任务的任务数组,值为1表示相应位的下键被按下。public Timer timer; /计时器。public Li

9、ftThread lift; /控制每个电梯的线程数组。/=构造方法(下)初始化=/public Brick()sign.setBounds(0, 0, 80, 40); /起始位置/开关门部分openclose.setBounds(80, 0, 80, 40); openclose.setBackground(Color.yellow);openkey.setBounds(160, 0, 80, 40); openkey.addActionListener(new OpencolseListener();/开门按钮添加事件closekey.setBounds(240, 0, 80, 40);

10、closekey.addActionListener(new OpencolseListener();/关门按钮添加事件pan.setLayout(null); /画布绝对定位 Font fnt=new Font(“Serief“,Font.ITALIC,15); /设置字体样式 /实例化数组numberBrick=new ArrayList(10);4blackBrick=new ArrayList(10);controlBrick = new ArrayList(10);controlTable = new int102;for (int i = 0; i 0;i-)/最左边黑色列but=

11、new JButton();but.setFont(fnt);but.setBounds(0, (11-i)*40, 80, 40);but.setBackground(Color.BLACK);blackBrick.add(but);pan.add(but); /显示楼层but=new JButton(+i+“楼“);but.setFont(fnt);but.setBounds(80, (11-i)*40, 80, 40);but.addActionListener(new NumberListener(i);but.setBackground(Color.gray);5numberBric

12、k.add(but);pan.add(but); /向上键but=new JButton(“上“);but.setFont(fnt);but.setBounds(160, (11-i)*40, 80, 40);if(i!=10)but.addActionListener(new UpListener(i);but.setBackground(Color.gray);controlBrick.add(but);pan.add(but);/向下键but=new JButton(“下“);but.setFont(fnt);but.setBounds(240, (11-i)*40, 80, 40);i

13、f(i!=1)but.addActionListener(new DownListener(i);but.setBackground(Color.gray);controlBrick.add(but);pan.add(but); /*运行部分*pan.add(sign);pan.add(openclose);pan.add(openkey);pan.add(closekey);frame.add(pan);frame.setSize(329, 479);lift = new LiftThread();frame.setVisible(true);6frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE); /=构造方法(上)=/*填充方块和设置方法*public void DrawBrick() /重新刷新整个table,使每个button显示应该的颜色。for (int i = 1; i x)lift.state = 1;if (number 0; i-)if (table10 - i = 1|controlTable10-i1=1|controlTable10-i0=1)count+;

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。