20165206 結對編程項目-四則運算 階段一總結
阿新 • • 發佈:2018-04-16
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 結對編程項目-四則運算 階段一總結