作業代碼: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號電梯運行。
小結:通過這次項目,意識到結對編程的重要性,以及在做項目的過程中自己知識的匱乏,由於自己能力的不足,在這次結對編程的過程中,自己始終不能委以大任,不過伙伴能力太強,自己得以虛心學習,促使自己做得更好,在下次項目中發揮更大的作用,更重要的是,讓自己感覺並發現自己的不足,也讓自己對結對編程充滿期待以及熱愛!