20165206 结对编程项目-四则运算 阶段一总结

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+"道");

}




[码云代码链接](https://gitee.com/brs666/java-20165206.git)


## 四、运行截图
![](https://images2018.cnblogs.com/blog/1296608/201804/1296608-20180415235252985-1437980478.jpg)



## 五、遇到的问题及解决方案
问题一:不是很清楚如何生成随机数。
问题一解决方案:我们经过查阅资料和讨论,将常用实用类中学习过的Random类与switch语句结合,实现了随机数的生成。

## 六、对结对的小伙伴的评价

我的结对伙伴是[20165203夏云霄](http://www.cnblogs.com/20165203-xyx/)。

我们两个是先共同弄清楚思路,做出一个大体的框架,然后再对细节进行讨论,不断改进。合作还是很愉快的。虽然目前完成的还不是很好,但找到了努力的方向,接下来我们会不断完善我们的程序。
![](https://images2018.cnblogs.com/blog/1296608/201804/1296608-20180415235314021-1833839701.jpg)
原文地址:https://www.cnblogs.com/brs666/p/8850336.html