寫乙個能自動生成小學四則運算題目的命令列 「軟體」,像《構建之法》的人物阿超那樣。
任何程式語言都可以,命令列程式接受乙個數字輸入,然後輸出相應數目的四則運算題目和答案。例如輸入數字是 30, 那就輸出 30 道題目和答案。 表示式子必須至少有兩個運算子,運算數字是在 100 之內的正整數,答案不能是負數。 如:
23 - 3 * 4 = 11
寫部落格紀錄自己實現的過程和思路。
fourarithmeticoperation(主類),random(生成隨機數、隨機運算子)
通過輸入的題目數目,產生相應的題目,呼叫隨機函式產生運算元和操作符,每產生一道題目,對使用者輸入的結果進行判斷,最終評分。
//產生題目
switch (randomoperator1)
result=(float)(num1+num2-num3);
system.out.print(num1+"+"+num2+"-"+num3+"=");
inputanswer=scanner.nextfloat();
check(inputanswer,result,countformat);
break;
case "*":
result=(float)(num1+num2*num3);
system.out.print(num1+"+"+num2+"*"+num3+"=");
inputanswer=scanner.nextfloat();
check(inputanswer,result,countformat);
break;
case "/":
if(num3==0)
result=num1+(float)num2/num3;
system.out.print(num1+"+"+num2+"/"+num3+"=");
inputanswer=scanner.nextfloat();
check(inputanswer,result,countformat);
break;
}break;
//判斷輸入並累計分數
public static void check(float answer, float result, float countformat)
else
}
psp模版**:
psp2.1
personal software process stages
time senior student
time
planning
計畫2h
2hestimate
估計這個任務需要多少時間
6h10h
development
開發4h
10hanalysis
需求分析 (包括學習新技術)
1h1h
design spec
生成設計文件
1h1h
design review
設計複審
30min
30min
coding standard
**規範
1h1h
design
具體設計
2h5h
coding
具體編碼
6h12h
code review
**複審
1h3h
test
測試(自我測試,修改**,提交修改)
1h4h
reporting
報告1h
2h測試報告
30min
30min
計算工作量
10min
10min
並提出過程改進計畫
1h2h
本次四則運算初版專案,主要遇到的問題是資料之間的轉換,特別是整形和浮點型資料,處理不當會丟失精度,這個過程還是需要細心的。實現效果是產生兩個運算子,主要實現方式簡單粗暴:採用switch巢狀判斷。雖然基本實現了功能,但是目前還不能處理分數型別以及不能隨機產生三位以上的操作符,所以後續還需要完善。另外,模組化設計做的不好,沒能體現「物件導向」的特點,**冗餘較多,也需後續優化。
個人專案 小學四則運算 「軟體」之初版
一 時間計畫與實際使用時間 psp2.1 personal software process stages 預估時間 h 實際時間 h planning計畫8 9estimate 估計這個任務需要多少時間 1215 development 開發72 96analysis 需求分析 包括學習新技術 5...
第四次作業 個人專案 小學四則運算 「軟體」之初版
本次作業要求來自 遠端github庫 像 構建之法 的人物阿超那樣,寫乙個能自動生成小學四則運算題目的命令列 軟體 具體要求 任何程式語言都可以,命令列程式接受乙個數字輸入,然後輸出相應數目的四則運算題目和答案。例如輸入數字是 30,那就輸出 30 道題目和答案。表示式子必須至少有兩個運算子,運算數...
第四次作業 個人專案 小學四則運算 「軟體」之初版
本次作業要求來自 遠端github庫 一 題目要求 像 構建之法 的人物阿超那樣,寫乙個能自動生成小學四則運算題目的命令列 軟體 具體要求 任何程式語言都可以,命令列程式接受乙個數字輸入,然後輸出相應數目的四則運算題目和答案。例如輸入數字是 30,那就輸出 30 道題目和答案。表示式子必須至少有兩個...