java课程设计报告(模拟电梯系统)

上传人:xinsh****encai 文档编号:118777537 上传时间:2019-12-25 格式:DOC 页数:11 大小:81.50KB
返回 下载 相关 举报
java课程设计报告(模拟电梯系统)_第1页
第1页 / 共11页
java课程设计报告(模拟电梯系统)_第2页
第2页 / 共11页
java课程设计报告(模拟电梯系统)_第3页
第3页 / 共11页
java课程设计报告(模拟电梯系统)_第4页
第4页 / 共11页
java课程设计报告(模拟电梯系统)_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《java课程设计报告(模拟电梯系统)》由会员分享,可在线阅读,更多相关《java课程设计报告(模拟电梯系统)(11页珍藏版)》请在金锄头文库上搜索。

1、Java课程设计报告组号:第四组课题名称:模拟电梯调度班级:09计一课题组成员姓名及学号:09030101课程设计日期:2011.6.202011.6.24地点:秋白楼B720一正文 1)课程设计目的与要求 目的掌握线程的应用及线程在多媒体中的使用,了解线程的运行机制和线程的新建、就绪、运行、挂起、死亡五种状态,对线程由新的认识和巩固。熟练java的动画编程,理解repaint()方法的调用过程及如何通过改写update()方法和双缓冲技术消除动画中出现的闪烁现象。理解java的容器和组件的应用。掌握java的事件处理机制:实现ActionListener接口,对事件源添加侦听器,实现acti

2、onPerformed()方法用以处理事件源所产生的事件。另外使组员能够针对具体的有一定代表性的小型综合应用类课题设计、分析,全面掌握面向对象的思想、JAVA语言的应用技巧、方法,从而使组员进一步理解和掌握利用JAVA开发综合系统的过程,学会用java开发工具,同时培养组员的合作意识和团队精神,培养学生对实际系统的采用面向对象的方法进行分析与设计能力,从而使学生提高JAVA语言运用与开发的综合能力。 需求分析模拟电梯调度:有一栋三层的楼房,楼内有三个电梯。要求电梯实现可以正常上下,和到达目的楼层后即停留并且实现开门及关门动作。电梯需有多层停留功能即:当对同一个电梯需要其在多层都有下客时,电梯要

3、在有下客动作的楼层停留然后自动去下一个有下客动作的楼层,而不需要乘客在次发出请求。电梯具有距离发出请求的楼层最近的电梯响应请求的功能即:当某一楼层有乘客需要使用电梯时,由距离该楼层最近的电梯去响应,而不是任意一个电梯都可以响应。(注:当存在距离该楼层最近的电梯且该电梯正在远离该楼层运动时该电梯不响应,当存在多个电梯距离该楼层最近时由编号低的电梯响应而不是全都响应。2)本人在课程设计中承担的任务 在课程设计中我主要负责事件处理,并判断该事件是何种事件,需要做出怎样的响应。同时确定各电梯的工作状态,以及判断该事件是否应该得到响应若响应该事件那么应由哪一个电梯去响应。当然我所做的还有判断哪一个电梯距

4、离发出请求的楼层最近,此时由距离该楼层最近的电梯响应请求,若距离最近的电梯处于远离该楼层的运动状态时则由下一个最近的电梯响应,若存在多个电梯距离最近,那么由编号低的响应。总的来说我的工作是考虑各种情况下给控制电梯各种动作(上、下、开门、关门、电梯响应、楼层)的变量赋予正确的值以实现电梯的正常运作。3)程序中使用的数据结构及符号说明 由于电梯有三个楼层也有三层,所以要实现各电梯之间互不影响就需要由不同的变量去控制电梯的动作。这也是为什么程序中变量较多的原因。下面是对本段程序中使用到得变量的解释说明:Object str:获取的组件信息赋予str(按钮名)。String st:获取的组件信息赋予s

5、t(按钮上的内容)。int a,b,c:三个临时变量,主要用于记录各电梯当前位置(y1,y2,y3)与产生请求的楼层的差值,用以判断哪一个电梯距离该楼层最近。int y1,y2,y3:记录各电梯的位置,同时通过加1减1控制电梯的上下,y1对应第一个电梯y2对应第二个电梯y3对应第三个电梯。int number:记录电梯有效信息,有4个元素(本程序中第一个元素未用),number1=1时说明第一个电梯响应number2=2时说明第二个电梯响应number3=3时说明第三个电梯响应。number值为0时未响应即电梯未有动作。int s:控制电梯的上下动作,s=1时电梯向上运动s=-1电梯向下运动。

6、int n1,n2,n3:记录各电梯中所响应的楼层信息,n1、n2、n3各对应一二三号电梯,且各有三个元素各对应于一二三层楼。n1、n2、n3中元素值为1说明对应楼层有响应即电梯到达该楼层时要停留并开关门。值为0说明无响应。boolean moving1,moving2,moving3:记录电梯的状态,moving1、moving2、moving3各对应一二三号电梯。值为true时电梯处于动作状态(上下或开关门),值为false时电梯处于静止状态。boolean open1,open2,open3:电梯的开门关门控制变量,open1、open2、open3各控制一二三号电梯的开关门动作。值为t

7、rue时允许电梯开门,值为false时允许电梯关门。int a1,a2,a3,b1,b2,b3,c1,c2,c3:记录各电梯响应的楼层信息,与n1,n2,n3用处差不多,但不可少。a1、a2、a3分别对应n10、 n11、n12以此类推b,c对应n2,n3。其主要目的是当电梯到达最后一个目的楼层后将电梯的有效信息number的值设置为0。这是n1,n2,n3无法做到的,应为在到达相应的目的楼层后n1,n2,n3中的相应值也就设置为0了。Button bt1 :各组件(各楼层及各电梯的按钮)。4)程序流程图由于此程序中情况众多,因此流程图中的判断框较多也较复杂。下面给出一个较简单的流程图。取得按

8、钮名NYYYNN开始一层二层三层得到最近电梯NYY取得按钮内容updownS=1S=-1a,b,c取得对应值n1,n2,n3赋值结束5)程序运行时的初值和运行结果 程序开始运行时,未点击任何按钮所以对于我的程序部分来说不存在初始值,只有y1=440,y2=440,y3=440open1=false,open2=false,open3=falsemoving1=false,moving2=false,moving3=false n1=0,0,0,n2=0,0,0,n3=0,0,0,number=0,0,0,0此时三个电梯均处于第一层。下面分几种情况分别说明一下程序实现的电梯调度的过程:.若开始时

9、点击bt1即第一层的up按钮,则通过计算得出三个电梯均距离第一层最近,所以由一号电梯响应请求。此时open1=true,number1=1随即一号电梯门打开并关上,此时点击一号电梯上的楼层按钮,比如bt5即第三层。此时各变量值为:S=1y1=440,y2=440,y3=440open1=false,open2=false,open3=falsemoving1=true,moving2=false,moving3=falsen1=0,0,1,n2=0,0,0,n3=0,0,0,number=0,1,0,0随即电梯向上移动到达三楼后open1=true,number1=1开门并关门此时:S=1y1

10、=140,y2=440,y3=440open1=false,open2=false,open3=falsemoving1=false,moving2=false,moving3=falsen1=0,0,0,n2=0,0,0,n3=0,0,0,number=0,0,0,0此时再点击bt1,则通过计算得出二号和三号电梯距离第一层最近,所以由二号电梯响应请求。此时open2=true,number2=2随即二号电梯门打开并关上,此时点击二号电梯上的楼层按钮,比如bt24即第二层。此时各变量值为:S=1y1=140,y2=440,y3=440open1=false,open2=false,open3=

11、falsemoving1=false,moving2=true,moving3=falsen1=0,0,0,n2=0,1,0,n3=0,0,0,number=0,0,2,0随即电梯向上移动到达二楼后open2=true,number2=2开门并关门此时:S=1y1=140,y2=290,y3=440open1=false,open2=false,open3=falsemoving1=false,moving2=false,moving3=false n1=0,0,0,n2=0,0,0,n3=0,0,0,number=0,0,0,0此时点击bt21即第二层的up按钮,则通过计算的出二号电梯距离第

12、二层最近,所以由二号电梯响应请求。此时open2=true,number2=2随即二号电梯门打开并关上,此时点击二号电梯上的楼层按钮,比如bt25即第三层。此时各变量值为:S=1y1=140,y2=290,y3=440open1=false,open2=false,open3=falsemoving1=false,moving2=true,moving3=false n1=0,0,0,n2=0,0,1,n3=0,0,0,number=0,0,2,0随即电梯向上移动到达三楼后open2=true,number2=2开门并关门此时:S=1y1=140,y2=140,y3=440open1=fals

13、e,open2=false,open3=falsemoving1=false,moving2=false,moving3=false n1=0,0,0,n2=0,0,0,n3=0,0,0,number=0,0,0,0.若开始时点击bt1,则通过计算得出三个电梯均距离第一层最近,所以由一号电梯响应请求。此时open1=true,number1=1随即一号电梯门打开并关上,此时点击一号电梯上的楼层按钮,比如bt5即第三层。此时各变量值为:S=1y1=440,y2=440,y3=440open1=false,open2=false,open3=falsemoving1=true,moving2=fa

14、lse,moving3=falsen1=0,0,1,n2=0,0,0,n3=0,0,0,number=0,1,0,0随即电梯开始向上移动,若在一号电梯向上移动并且过了第二层但没到第三层时点击bt21即二楼的up按钮,则经过计算得到一号电梯距离二楼最近,但是由于一号电梯正处于远离二楼的运动状态中所以一号电梯不响应请求,由二号电梯响应,此时:S=1290y1140,y2=440,y3=440open1=false,open2=false,open3=falsemoving1=true,moving2=true,moving3=falsen1=0,0,1,n2=0,1,0,n3=0,0,0,number=0,1,2,0随即二号电梯向上移动,显然一号电梯比二号电梯早到达目的楼层,当一号电梯到达目的楼层时open1=true,number1=1,open2=false,number2=2,一号电梯开门并关门此时:S=1y1=140,290y2440,y3=440open1=false,open2=false,open3=falsemoving1=false,moving2=true,moving3=false n1=0,0,0,n2=0,1,0,n3=0,0,0,number=0,0,2,0

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号