结队成员
习志敏and沈聪
沈聪博客链接:http://www.cnblogs.com/congshen
coding链接:https://coding.net/u/dunkey/p/diantidiaodu/git
前言
首先,非常感谢老师可以为我们提供组队编程的环境,从大一开始,几乎每一次编程都是自己独立完成,最多是实在找不出错误去问一下同学,这次结队编程中,我很荣幸能够和沈聪成为一队,刚开始,我们对对方都不是特别了解,但在一起编程的这几周里,我发现我们的性格能力刚好互补,起初,我们一起讨论了一下这个作业的基本算法,然后各自说了一下自己的想法,初步的写了一个程序框架,他负责敲代码,我在一旁负责检查错误,我们配合的很有默契,最终,我们的作业也按时完成,这期间,酸甜苦辣,和队友意见不同到最后找到一个最好的办法,这种感觉是前所未有的,下面是我们工作时的照片。
算法设计
本程序用java语言、eclipse平台编写,通过往返寻找方法,即先查询电梯运行方向的楼层是否存在有其他键被按下,有就继续往该方向运行,如果没有就查询电梯运行反方向的楼层是否有按键被按下,如果有电梯就改变方向,反方向运行。如果没有电梯就停止在该楼层,30秒后如果没有任何键被按下,电梯就自动返回1楼驻停。同时,电梯乘客所去的楼层方向与电梯当前方向一致的话,则电梯优先搭载该乘客。随后再搭载去反方向的乘客。实现电梯的升降操作。具体流程图如下。
总结感悟
一开始做电梯调度算法比较困难:因为有许多因素要考虑,而且需要到的许多java界面方面的知识、事件控件方面的知识和时间方面的控制知识都比较薄弱,但经过了一段时间的学习,逐步攻破各方面的弱点。又从书本上、网上了解到做电梯的思想。很快就将电梯调度算法用java语言实现了。这一次的课程设计不但让我更加了解了java语言,而且学习到了新知识,同时更加清楚地了解到该用怎样的思想去实现一个算法。最重要的是,我学到了如何发挥团队的力量,如何产生1+1>2的效果,总之,我觉得这次团队作业会对我以后的工作学习产生很大的影响。