20165203 结对编程 四则运算(第一周)

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/xyx-nice/20165203xyx.git)


## 四、运行截图

![](https://images2018.cnblogs.com/blog/1297630/201804/1297630-20180415232739132-579927860.jpg)



## 五、遇到的问题及解决方案
Q1:一开始,不知道如何设置随机数。  
A1:经过小伙伴的指导,并上网查找得知,需要用Math包中的Random()语句,例如:  
a=new Random().nextInt(100);则为a为0到100的随机数。  
Q2:不知道如何输入一个数。  
A2:原来的知识有些遗忘,应该先创建一个类,  
Scanner in = new Scanner(System.in);然后,利用  
    int i;
    i=in.nextInt();
    ```  

进行输入,这是一个常用语句,要记住。

六、结对创意照

七、对结对的小伙伴的评价

我的结对小伙伴是20165206韩啸同学,他踏实努力,办事认真。我们在一起讨论时,先确定一个整体的大致框架,然后再深入细节,将每个方法刻画细致,最后,在主类中加以修饰。虽然,我们本次所编代码还有很多不足,并且真分数的运算还没有实现,相信我们下周会更加努力,完善这个项目代码。

posted @ 2018-04-15 23:33  I~Justice  阅读(139)  评论(0编辑  收藏  举报