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号电梯运行。

   小结:通过这次项目,意识到结对编程的重要性,以及在做项目的过程中自己知识的匮乏,由于自己能力的不足,在这次结对编程的过程中,自己始终不能委以大任,不过伙伴能力太强,自己得以虚心学习,促使自己做得更好,在下次项目中发挥更大的作用,更重要的是,让自己感觉并发现自己的不足,也让自己对结对编程充满期待以及热爱!

原文地址:https://www.cnblogs.com/shikaihong/p/5368908.html