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

时间:2021-03-16 08:54:12

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

一、需求分析

  • 通过命令行输入生成题目的数量,随机生成题目。
  • 生成的题目不重复。
  • 生成的四则运算题目支持整数、支持多运算符。
  • 能够根据作答情况统计正确的个数。

二、设计思路

  • 设计一个类来实现整数的四则运算。
  • 用一个循环结构来生成随机数,生成题目。
  • 设计一个类来比较输入的答案与正确答案是否一致。
  • 判断做的题是否正确,并返回正确的个数。
  • 设计单元测试,对代码进行测试及修改

UML图:

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

三、核心代码

  • 生成随机数:

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

    }

码云代码链接

四、运行截图

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

五、遇到的问题及解决方案

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();
进行输入,这是一个常用语句,要记住。

六、结对创意照

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

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

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