Java编写的电梯模拟系统《结对作业》
作业代码:https://coding.net/u/liyi175/p/Dianti/git
伙伴成员:李伊 http://home.cnblogs.com/u/Yililove/
对于这次作业,我刚开始一点思绪都没有,在老师安排了结对伙伴李伊之后,我的搭档问我,我们需要什么编程语言来编写程序,我细想了一下,大一到大三,我们就学了C语言、C++就这两种语言,而且C一开始果断放弃,因为没法做界面,C++也觉得不靠谱,虽然可以做界面,但是太麻烦,也指望不上。进入大三以后,自己选修过JAVA,自学过安卓,而李伊也自学过JAVA,所以用JAVA来编写电梯这个作业也就一拍即合啦。当然,在这个过程中遇到了很多问题,因为我们都是自学,对JAVA的编程思想、逻辑结构自然就没有像对C那么了解了,比如一些库函数,函数的封装等等。。。。。。
根据项目要求,一栋楼中有四部电梯,共21层,而且根据要求,第一、四部电梯可以到达所有楼层,第二步电梯可以到单层楼,第三部电梯可以到达双层楼,将这个项目在JAVA设置了六个CLASS,第一个类当然先写界面CLASS,然后再写第一部到第四步电梯的类,以及一个Show类等6个类。
可以肯定的是,在这几个类里边还有很多的函数,在这里就不一一显示,对于初学JAVA的来说,第一次就写这么大的项目,我表示吃不消啊。
而对于这次项目,使用JAVA编程自然会使界面比较好看,节省了编程时必要的文字描述和不必要的麻烦,以下图是模拟电梯的界面:
,模拟电梯的界面不仅有外部按钮还有电梯内部按钮,外部按钮可以使电梯到达乘客所在的楼层,而内部按钮可以让乘客去想去的楼层,如果乘客所在的楼层为单层或者双层时一号电梯和四号电梯随机运行在运行,当乘客在双层时第三号电梯在运行,如果第一号电梯和4号电梯同时在运行时,3号电梯启动,当乘客在双层时,而且一号电梯和4号电梯同时在运行,2号电梯启动。这其中少不了运用到线程来调度程序的运行。

其实,在这过程中,我们遇到了很多麻烦,在JAVA面前我们显得比较渺小,在时间面前我们显得比较沧桑,由于时间和能力的问题,这个项目并不是那么的完美,没有体现出项目所有的要求,比如,电梯是否超重,承载人数等这本程序中没能体现出来,因为在JAVA的容器,线程内部等等问题,我们还没办法解决。
这是单层的运行程序:
这是双层运行的程序:

由于各个类的较多,不在这里一一描述,下面来看看一号电梯的编写情况:
红色箭头是开门关门以及判断是否超重,由于能力以及时间问题,并没有很完善,不过我们相信在我们进一步接触JAVA之后,这些问题都不是问题,而且我们现在意识到JAVA在IT行业的重要性,怎敢忽视JAVA。以下图片是一号电梯运行的部分代码:
下面来运行一下程序:可以看到电梯的起始位置都是按其可以到达的楼层排放。
以下是程序的运行:当19层响应时,四号电梯随机运行,16层响应时,4号电梯还在运行,启动1号电梯运行,在1、4号电梯运行期间,如果单层响应,则运行2号电梯,双层响应,2号电梯运行。

小结:通过这次项目,意识到结对编程的重要性,以及在做项目的过程中自己知识的匮乏,由于自己能力的不足,在这次结对编程的过程中,自己始终不能委以大任,不过伙伴能力太强,自己得以虚心学习,促使自己做得更好,在下次项目中发挥更大的作用,更重要的是,让自己感觉并发现自己的不足,也让自己对结对编程充满期待以及热爱!
Java编写的电梯模拟系统《结对作业》的更多相关文章
- 第四,五周——Java编写的电梯模拟系统(结对作业)
作业代码:https://coding.net/u/liyi175/p/Dianti/git 伙伴成员:石开洪 http://www.cnblogs.com/shikaihong/(博客) 这次的作业 ...
- Core 第三组 结对作业——四则运算 Part1. Core代码编写
结对作业——四则运算 Part1. Core代码编写 PB15061303 刘梓轩PB16061489 艾寅中 GITHUB 地址 戳这里 目录 (因为内容较多,分为了三个部分,但作业系统中只能提交一 ...
- 结对作业——四则运算 Part3. 对于结对编程的总结与思考
结对作业——四则运算 Part3. 对于结对编程的总结与思考 PB15061303 刘梓轩PB16061489 艾寅中 GITHUB 地址 戳这里 目录 Part 1. Core代码编写部分 Part ...
- 201621123062《java程序设计》第13周作业总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 思维导图: 2. 为你的系统增加网络功能(购物车.图书馆管理.斗地主等)-分组完成 为了让你的系统可以被多 ...
- 第6次结对作业--郑锦伟&古维城
第6次结对作业 在线英语学习平台客户端原型 1.结对成员 郑锦伟 2015034643034 古维城 2015034643033 2.原型设计工具实现-Photoshop 3.需求分析 使用NABCD ...
- [2019BUAA软件工程]结对作业
Tips Link 作业链接 [2019BUAA软件工程]结对作业 GitHub地址 WordChain PSP表格 psp2.1 预估耗时(分钟) 实际耗时(分钟) Planning 计划 60 ...
- 结对作业——随机生成四则运算(Core 第7组)
结对作业 ——随机生成四则运算(core第7组) 吕佳玲 PB16060145 涂涵越 PB16060282 GITHUB地址 https://github.com/hytu99/homework_2 ...
- 结对作业(1.0版)(bug1已修复)
import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing ...
- 结对作业——web四则运算
目录: 一.Coding.net项目地址 二.PSP 三.接口设计 四.接口实现 五.性能分析 六.单元测试 七.异常处理 八.模块设计 九.模块对接 十.结对 十一.思考 十二.PSP 网站:htt ...
随机推荐
- 英语linux+英语firefox+英语Oracle OEM如何设置成显示日语
1 linux安装盘挂载,安装日语语言包 2 linux的系统语言设置为日语 3 firefox的 edit-> setting -> contents -> language se ...
- 6 开发工具IDE-pycharm
http://www.cnblogs.com/sean-yao/p/8321034.html 激活码:http://blog.csdn.net/qq_39248703/article/details/ ...
- Openstack入门篇(十七)之Cinder服务-->安装并配置一个本地存储节点
怎样为块存储服务安装并配置存储节点.为简单起见,这里配置一个有一个空的本地块存储设备的存储节点.这个向导用的是 /dev/sdb,此处选用linux-node1节点作为存储节点,需要在vmware中添 ...
- C++ STL 学习笔记__(6)优先级队列priority_queue基本操作
10.2.7优先级队列priority_queue v 最大值优先级队列.最小值优先级队列 v 优先级队列适配器 STL priority_queue v 用来开发一些特殊的应用,请对stl的类 ...
- BZOJ3601. 一个人的数论(狄利克雷卷积+高斯消元)及关于「前 $n$ 个正整数的 $k$ 次幂之和是关于 $n$ 的 $k+1$ 次多项式」的证明
题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=3601 题解 首先还是基本的推式子: \[\begin{aligned}f_d(n) &a ...
- asp.net core 发布到docker 极简步骤
1.使用dotnet命令发布项目 2.把发布成功的文件通过scp等工具发布到linux服务器上,在当前目录下新建一个dockerfile 3.使用asp.net core镜像为底包构建一个新的镜像 4 ...
- apache-日志-记录post数据
apache access.log日志只能打印出相关的头部信息,例如:Referer, User-agent.但是我希望看到body中的data. 目前找到解决方案是使用apache的扩展module ...
- 自动化运维工具saltstack04 -- 之jinja模板
jinjia模板 需求:想让saltstack的file模块分发到minion端的配置文件监听minion端的IP和端口,如何用变量实现?看下面!! 1.jinja模板加grains使apache监听 ...
- python简单计时器实现
实现程序运行时间的显示与相互之间的计算: 实现代码: import time as t class Mytimer(): def __init__(self): self.unit=["年& ...
- variadic templates & pass by const reference & member operator [] in const map & gcc sucks
/// bugs code with comments #include <iostream> #include <memory> #include <unordered ...