1. 程式人生 > >20165206 結對編程項目-四則運算 階段一總結

20165206 結對編程項目-四則運算 階段一總結

logs == correct 隨機數的生成 接下來 true 目的 個數 運算

20165206 結對編程項目-四則運算 階段一總結

一、需求分析

  • 通過命令行輸入生成題目的數量,隨機生成題目。
  • 生成的題目不重復。
  • 生成的四則運算題目支持整數、支持多運算符。
  • 能夠根據作答情況統計正確的個數。

二、設計思路

  • 設計一個類來實現整數的四則運算。
  • 用一個循環結構來生成隨機數,生成題目。
  • 設計一個類來比較輸入的答案與正確答案是否一致。
  • 判斷做的題是否正確,並返回正確的個數。
  • 設計單元測試,對代碼進行測試及修改

UML圖:
技術分享圖片

三、核心代碼

  • 生成隨機數:

    while(true){
    
            a=new Random().nextInt(100);
            b=new Random().nextInt(100);
            i=new Random().nextInt(4);
    
            if(i==1&&a<b){
                continue;
            }
    
            if(i==3){
                if(b==0){
                    continue;
                }
                if(a%b!=0){
                    continue;
                }
            }
            break;
        }
    }

-生成算式及答案:

switch(this.operator().toCharArray()[0]){
            case ‘+‘:result=this.getA()+this.getB();break;
            case ‘-‘:result=this.getA()-this.getB();break;
            case ‘ב:result=this.getA()*this.getB();break;
            case ‘÷‘:result=this.getA()/this.getB();break;
        }
  • 輸入題目的個數並統計個數:
Scanner in = new Scanner(System.in);
        int i;
        i=in.nextInt();
        int correct=0;

        Output out;

        while(i>0){

            out=new Output();

            System.out.print(out.getString());
            String s=scanner.nextLine();

            if(out.panduan(s)){
                System.out.println("回答正確!");
                correct++;
            }
            else{
                System.err.println("回答錯誤!");
            }
            i--;
            System.out.println("還有"+i+"道題未回答");
        }

        System.out.println("恭喜你!,回答完畢,回答正確的為"+correct+"道");

    }

碼雲代碼鏈接

四、運行截圖

技術分享圖片

五、遇到的問題及解決方案

問題一:不是很清楚如何生成隨機數。
問題一解決方案:我們經過查閱資料和討論,將常用實用類中學習過的Random類與switch語句結合,實現了隨機數的生成。

六、對結對的小夥伴的評價

我的結對夥伴是20165203夏雲霄。

我們兩個是先共同弄清楚思路,做出一個大體的框架,然後再對細節進行討論,不斷改進。合作還是很愉快的。雖然目前完成的還不是很好,但找到了努力的方向,接下來我們會不斷完善我們的程序。
技術分享圖片

20165206 結對編程項目-四則運算 階段一總結