20172304 结对编程--四则运算实验总结
20172304 結對編程--四則運算
結對對象
- 20172301 郭愷
20172328 李馨雨
需求分析
以結對小組形式編寫代碼,實現以下功能:
1.自動生成題目
可獨立使用(能實現自己編寫測試類單獨生成題目的功能)
可生成不同等級題目,類似于:
1級題目:2 + 5 =
10 - 5 =
分析:這個可以用生成隨機數的方法來做。- 題目運算(判題)
可獨立使用
實現中綴表達式轉為后綴表達式并計算
分析:這個東西是要將算式轉換為計算機理解的形式進行計算。
判斷用戶答題正誤,并輸出正確結果
分析:這個初步分析是要采用equals加循環的方法 - 支持真分數
可獨立使用
實現分數算式的計算
解析:這個,之前章節的例子中有生成分數的例子,可以直接引用。 題目去重(擴展需求,加分項)
可獨立使用
實現對自動生成表達式的去重:如下
若生成:2 + 5 =
5 + 2 =
為同一題目。
解析: 因為是加分項所以本周暫時沒有進行考慮,想著如果下周時間充裕就考慮一下。代碼規范
我們使用的是IDEA,有自帶的縮進格式和代碼規范。
設計思路
- 生成隨機運算式和不同等級: 因為項目需要生成算式。所以我們用隨機數方法Random生成了運算數,而將運算符使用char方法儲存在了數組中,在定義一個隨機數,隨機抽取運算符,并且使用了循環,通過確定循環次數來確定題目等級。
總共分為四個等級
第一個等級:加減
第二個等級:乘除
第三個等級:加減乘除
第四個等級:含有分數的加減乘除。 - 題目運算:總共使用了兩個棧,一個用來儲存符號,一個用來儲存數字。通過出棧,進棧的方式來進行將運算式由中綴表達式轉為后綴表達式。
- 支持真分數
- 使用了第五章的RationalNumber類,并使用隨機數來生成分子分母,并通過取余來判斷是否生成的是真分數。
生成括號:我嘗試了操作,使用的是循環加等值判斷,利用charAt方法將字符串中的每一個字符的char值與加減號的char值進行比較,然后將加減號的char值儲存在數組中。再通過隨機數插入括號,但是在實際運用中發現這種方法在判斷兩位數的時候會很很麻煩。所以后來放棄了這種方法。
UML圖
問題統計
問題1:我們在生成的題目前加了題號,但是再生成是發現題號都是9。
問題1解決方案:后來我們做了一個循環。如下圖。
問題2:雙等號錯誤,在生成算式的時候帶有兩個等號。
問題二解決方案:因為雙等號一開始放在了循環里,所以會有錯誤,所以后來,我們將等號加在了結果里。
小組成員評價
20172301 郭愷
這是我們小組的核心和智囊。
20172328 李馨雨
這是我們小組的組織者。相關過程截圖
PSP時間統計
| Planning | 計劃 | 60 | 65 |
| Estimate | 估計這個任務需要多少時間 | 3 | 2 |
| Development | 開發 | 2000 | 3000 |
| Analysis | 需求分析 (包括學習新技術) | 350 | 300 |
| Coding Standard | 代碼規范 (為目前的開發制定合適的規范) | 60 | 10 |
| Design UML | 設計項目UML類圖 | 60 | 60 |
| Coding | 具體編碼 | 1500 | 2000 |
| Code Review | 代碼復審 | 30 | 20 |
| Test | 測試(自我測試,修改代碼,提交修改) | 300 | 300 |
| Size Measurement | 計算工作量(實際時間 | 2 | 2 |
| Postmortem & Process Improvement Plan | 事后總結, 并提出過程改進計劃 | 30 | 10 |
| 合計 | 4395 | 5229 |
其他
這周是緊張的一周,各個小組都很緊張認真。我們小組也一樣,不過在這種團隊的合作下,我更加體會到了互幫互助的優越性以及不同思想碰撞時所產生的智慧的火花。雖然這周的目標只是將設計思路設計出來,但是我們也編寫了不少代碼。還有一些難點尚未攻克,不過我相信,只要我們通力合作,沒有什么是不能被克服的。
轉載于:https://www.cnblogs.com/15248252144dzx/p/8977588.html
總結
以上是生活随笔為你收集整理的20172304 结对编程--四则运算实验总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端工程师系列,TCP复习及浓缩总结(全
- 下一篇: 【封装那些事】 缺失封装