个人作业一
https://coding.net/u/zhang1995/p/Demo/git/blob/master/Myapp.java
題目描述:
看了大家對于本課程的目標和規劃,很多同學都希望能提高自己的實踐能力,沒有捷徑可走,就是練習、練習再練習!那么就從第一個個人項目開始吧,用一周的時間完成一個基于控制臺的四則運算程序,實現一個自動生成小學四則運算題目的命令行程序
從《構建之法》第一章的 “程序” 例子出發,像阿超那樣,花二十分鐘寫一個能自動生成小學四則運算題目的命令行 “軟件”,滿足以下需求:
Myapp.exe -n 10
個人軟件過程耗時估計與統計表:
| PSP2.1 | Personal Software Process Stages | Time (%) Senior Student | Time (%) |
| Planning | 計劃 | 6 | 8 |
| · Estimate | 估計這個任務需要多少時間 | 6 | 4 |
| Development | 開發 | 82 | 88 |
| · Analysis | 需求分析 (包括學習新技術) | 5 | 10 |
| · Design Spec | 生成設計文檔 | 4 | 6 |
| · Design Review | 設計復審 | 3 | 6 |
| · Coding Standard | 代碼規范 | 2 | 3 |
| · Design | 具體設計 | 10 | 12 |
| · Coding | 具體編碼 | 36 | 21 |
| · Code Review | 代碼復審 | 7 | 9 |
| · Test | 測試(自我測試,修改代碼,提交修改) | 13 | 21 |
| Reporting | 報告 | 9 | 6 |
| · | 測試報告 | 3 | 2 |
| · | 計算工作量 | 2 | 1 |
| · | 并提出過程改進計劃 | 3 | 3 |
代碼:https://coding.net/u/zhang1995/p/first/git/blob/master/Myapp.java
?
a.需求分析
需要完整的四項基本的計算功能,能計算10以內的各種算法。
b.功能設計
基本功能
基礎的加減乘除
擴展功能
真分數的各種計算
高級功能
c.設計實現
先用隨機數控制分數或者整數的計算,然后在整數和分數的類中再加入隨機數控制加減乘除四種算法的出現。
d.代碼說明
以下是關于加法的代碼設計,因為分數和整數用的同一個算法所以用了四個參數可以引入分數的兩個分子和分母,然后返回其答案。其中利用了for循環找出得出后的分子分母的最小公倍數,以算出最簡的表達方式。
? ? private static String jia(int a, int b, int c, int d) {
????????String ans=" ";
????????int ans1=a*d+b*c;
????????int ans2=b*d;
????????int Max=0;
????????for(int i=ans1;i>=1;i--){
????????????if(ans1%i==0&&ans2%i==0)
????????????{
????????????????Max = i;
????????????break;
????????????}
????????}
????????if(ans1%ans2==0){
????????????ans=ans1/ans2+"";
????????}else{
????????????ans=(ans1/Max)+"/"+(ans2/Max);
????????}
????????return ans;
????}
e.測試運行
除了整數以外,還要支持真分數的四則運算,真分數的運算,例如:1/6 + 1/8 = 7/24
運算符為 +, ?, ×, ÷
?
并且要求能處理用戶的輸入,并判斷對錯,打分統計正確率。
?
?
要求能處理用戶輸入的真分數, 如 1/2, 5/12 等
?
?
使用 -n 參數控制生成題目的個數,例如執行下面命令將生成10個題目
?
Myapp.exe -n 10
?
PSP:在編輯 四種算法時候因為輸出的原因所以一直出現錯誤,花了很多時間,在后面要用參數控制輸出正確率的時候也因為給算法增加了返回值在IF中會再運行而導致一直出現很多次的輸出雙倍題目,這一些小的問題。
? ?小結:更多的還是要認真做,先把想法想好,不要做到一半再臨時改變想法,這會要需要很多時間。
轉載于:https://www.cnblogs.com/zhang95/p/6479782.html
總結
- 上一篇: Hello World -- Java
- 下一篇: JS无法获取display为none的隐