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 ...
随机推荐
- Hadoop源码学习笔记之NameNode启动场景流程一:源码环境搭建和项目模块及NameNode结构简单介绍
最近在跟着一个大佬学习Hadoop底层源码及架构等知识点,觉得有必要记录下来这个学习过程.想到了这个废弃已久的blog账号,决定重新开始更新. 主要分以下几步来进行源码学习: 一.搭建源码阅读环境二. ...
- python3爬虫-通过selenium获取到dj商品
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.c ...
- 20155237 2016-2017-2 《Java程序设计》第2周学习总结
教材学习内容总结 通过教材了解了JAVA可区分为基本类型和类类型(参考类型)两大类型系统. 基本类型 分类 整数 short(2) / int(4) / long(8) 字节 byte(-128-12 ...
- 13-[函数进阶]-列表生成式,生成器&迭代器
1.列表生成式 Python一种独特的语法,相当于语法糖的存在,可以帮你在某些场合写出比较精简酷炫的代码.但没有它,也不会有太多的影响. 语法糖(Syntactic sugar),也译为糖衣语法,是由 ...
- 10 star组件之分页, search模糊查询, action批量处理
1.分页组件高阶 1.分页的class形式(有bug,请看下面的) """ 自定义分页组件 """ class Pagination(obj ...
- 监听Google Player下载并获取包名等信息
一.解决思路 通过监听ContentObserver监听下载路径content://downloads 二.具体步骤 1 设置监听器 context.getContentResolver() .reg ...
- hashCode及HashMap中的hash()函数
一.hashcode是什么 要理解hashcode首先要理解hash表这个概念 1. 哈希表 hash表也称散列表(Hash table),是根据关键码值(Key value)而直接进行访问的数据结构 ...
- 静态构造器(static constructor)
1.定义: 静态构造函数是实现对一个类进行初始化的方法成员. 它一般用于对静态数据的初始化. 静态构造函数不能有参数,不能有修饰符而且不能被调用,当类被加载时,类的静态构造函数自动被调用. 2.特点: ...
- [Unity] unity5.3 assetbundle打包及加载
Unity5.3更新了assetbundle的打包和加载api,下面简单介绍使用方法及示例代码. 在Unity中选中一个prefab查看Inspector窗口,有两个位置可以进行assetbundle ...
- 曾经的华为C面试题,一点就通
学习编程可以锻炼你的思维,帮助你更好地思考,创建一种我认为在各领域都非常有用的思维方式. 比尔盖茨 曾经的华为C面试题,一点就通 [问题区] 有两个变量x和y, x=10; y = 2 ...