20172333 2017-2018-2 《程序設計與數據結構》實驗四則運算報告
阿新 • • 發佈:2018-05-02
www 程序 nan 相對 題目 尋找 角色 定義 參考資料
20172333 2017-2018-2 《程序設計與數據結構》實驗四則運算報告
1.結對成員
李楠20172330
擔任角色(團隊分工)
- [x] 1.前期分析流程
- 領航員:嚴域俊
- 操作員:李楠
- 原因:我對於整個四則運算過程要求進行一一確定需要編寫什麽樣的類,而李楠則是對於我們要編寫的類尋找一些方法來進行實現,以及如何方便快捷的進行編寫。
- [x] 2.中期各自分工編寫類
- 該階段主要是進行各自任務分工,由於之前的討論我們的目的較為明確分為三個步奏,第一是我進行編寫一個可以隨機生成不同等級的題目類,其次就是李楠編寫一個可以進行中綴轉後綴並輸出後綴表達式及結果的類來承接我的題目,最後由我來編寫帶有檢測是否正確的方法的類,最終用一個測試類結束。
- [x] 3.後期對於各種BUG的修正以及測試類的編寫
- 領航員:李楠
- 操作員:嚴域俊
- 分析:我進行相關類的編寫,李楠對我進行技術指導。
2.需求分析
自動生成題目
- 一級題目只含有一個計算符(包含加減乘除)。
- 二級題目含有四個計算符.依次類推。
- 四級題目支持真分數。
- 所有題目均為100以內。
- 一旦建立題目之後定義一個變量獲取該答案的結果
- 題庫究竟是提前我們自己輸入還是說到時候運用Random來進行隨機使用?(目前定為一個方法,方法中讀取用戶需要的等級及個數進行隨機輸出題目)
題目的個數有沒有限制。(暫無)
題目運算
1.中綴表達式轉化為後綴表達式。
使用棧來進行轉化過程(問題在於怎麽轉化)。圖
2.判斷用戶答題正誤,並輸出正確結果
1.對於用戶答題的結果使用Scanner類,將其值賦給一個特定變量,並使用 if
語句進行判定並分別輸出正確或者錯誤的結果,在if
語句之後輸出答案。
3.實驗過程中遇到的問題和解決過程
問題1:編寫題目生成的類時定義為了Main方法為主導的東西
問題1解決方案:編寫過程中,個人對於先定義一個方法,再在一個測試類裏用該方法的行為感到無聊且低效率,明明可以直接在一個Main方法裏結束的,何必再編一個測試類,後來我花了一晚上編好程序,結果發現在想要導出我的題目給李楠來測試他的方法的時候發現無論如何都弄不出來,尋求張旭升學長幫助後,他給我致命一擊,他說Main方法繼承不了,向來都是類之間的繼承,簡潔明了的說就是我一個晚上的東西要重新化為我之前厭惡的類中的方法才可以導出。
問題2:在題目生成類與中綴轉後綴類之間進行題目交換的時候出現了錯誤。
問題2解決方案:當用戶只需要單個題目來進行轉換的時候,兩個的轉換完美無缺,但是我設計的題目生成器是可以一次性生成多個題目的,就導致銜接出現了一絲問題,大概就是李楠所弄的那個類只接受我最後生成的題目。(目前尚未解決)
4.Uml圖
圖
5.結對評價
李楠:作為我的唯一的隊友,並且承擔了相對難度較高的中綴轉後綴類的編寫,並不出太大的問題,我覺得非常Nice,隊友還是很牛皮的。
6.時間表(尚未總結完成後補)
參考資料
2017-2018-2 1723 『Java程序設計』課程 結對編程練習_四則運算
結對編程項目-四則運算
S.O.L.I.D 原則
20172333 2017-2018-2 《程序設計與數據結構》實驗四則運算報告