結對編程項目-四則運算 (第二週)
需求分析
實現一個命令行程序,要求:git
- 自動生成小學四則運算題目(加、減、乘、除)
- 支持整數
- 支持多運算符(好比生成包含100個運算符的題目)
- 支持真分數
- 統計正確率
請輸入要生成的題目數: <輸入6>
以下所示編程
題目1:
3 + 4 = <輸入7>
正確!
題目2:
5 ÷ 8 = <輸入5/6>
錯誤,正確答案爲:5/8
題目3:
2/3 - 1/5 = <輸入7/15>
正確!
題目4:
1/6 * 3/7 = <輸入3/42>
正確!
題目5:
10 - 5 * 4 = <輸入20>
錯誤,正確答案爲:-20
題目6:
(1/3 + 1/2) * 11/20 = <輸入55/120>
錯誤,正確答案爲:11/24
完成6道題目,正確率爲50%
設計思路
- 經過命令行參數形式來指定生成題目數量以及運算符數量
- 去重
實現過程當中的關鍵代碼解釋
char z =op.charAt(0);
if(z=='+')
System.out.printf("%f",x+y);
else if(z=='-')
System.out.printf("%f",x-y);
else if(z=='*')
System.out.printf("%f",x*y);
else if(z=='/'){
if(y==0){
System.out.println("you can not do that");
}
else{
System.out.printf("%f",x/y);
運行截圖
代碼連接學習
代碼分析
- 先寫一個循環來計數生成的算式個數for (int i = 0; i < number; i++)
- 斷定運算的類型,用if-else if-else語句,若是是‘+’就執行add(a,b)若是輸入的數據等於正確結果,則輸出right
- 若是運算類型爲「-」就執行minus(op1,op2),若是輸入數據等於正確結果,則輸出right
- 若是運算類型爲「*」就執行times(op1,op2)
- 若是運算類型爲「*」就執行Div(op1,op2)
- 最後統計right的數量與輸入的number比,right/number求出正確率輸出
結對總結(對組員的評價)
- 本次實驗對我來講以一次很可貴的歷練,我我的編程能力通常,在通關過與隊友20165302的共同討論,翻閱課本、瀏覽網站尋找思路,最終順利地完成了本次實驗。在實驗中,隊友常常主動找我討論問題,這讓我逐漸拜託懶惰,開始積極主動起來。這是小組學習爲我帶來的巨大優點。
結對學習照