20165301結對編程項目-四則運算 (第二週)

結對編程項目-四則運算 (第二週)

需求分析

  • 實現一個命令行程序,要求: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的共同討論,翻閱課本、瀏覽網站尋找思路,最終順利地完成了本次實驗。在實驗中,隊友常常主動找我討論問題,這讓我逐漸拜託懶惰,開始積極主動起來。這是小組學習爲我帶來的巨大優點。

結對學習照

相關文章
相關標籤/搜索