### 20165219 2017-2018-2《Java程序设计》结对编程一 第二周总结

时间:2022-03-09 22:12:27

20165219 2017-2018-2《Java程序设计》结对编程一 第二周总结

结对对象

20165219王彦博

20165232何彦达

需求分析

实现一个程序,要求:

1 支持整数运算

2 支持多运算符运算

3 支持分数运算,支持真分数运算

3 统计正确率

扩展需求:

1 处理生成题目并输出到文件

2 完成题目后从文件读入并判题

3 多语言支持:简体中文, 繁體中文, English

4 生成题目去重

设计思路

这是一个需要支持复杂运算的程序,不同于简单的单运算符的四则运算,需要设计多个类来实现运算,比如加减乘除以及平方的运算。

nml图(部分)

第一周
### 20165219 2017-2018-2《Java程序设计》结对编程一 第二周总结

第二周
### 20165219 2017-2018-2《Java程序设计》结对编程一 第二周总结

代码进度

整数类(第一周)


public class IntNumber {
    private int A;

    public int getA(){
        return A;
    }

    public IntNumber(int A){
        this.A = A;
    }

    public int add(IntNumber op1){
        int sum = A + op1.A;
        System.out.print(A + " + " + op1.A + "=");
        return sum;
    }

    public int subtract(IntNumber op1){
        int num = A - op1.A;
        System.out.print(A + " - " + op1.A + "=");
        return num;
    }

    public int multiply(IntNumber op1){
        int num = A * op1.A;
        System.out.print(A + " * " + op1.A + "=");
        return num;
    }

    public static IntNumber obj(){
        Random ran = new Random();
        return new IntNumber(ran.nextInt(20)-10);
    }

    public String divide(Score op1){
        System.out.print(op1.getNumerator() + " / " + op1.getDenominator() + "=");
        return op1.toString();
    }
}

码云托管

分数类:

码云链接

功能截图

正常边界异常的测试
### 20165219 2017-2018-2《Java程序设计》结对编程一 第二周总结
### 20165219 2017-2018-2《Java程序设计》结对编程一 第二周总结
### 20165219 2017-2018-2《Java程序设计》结对编程一 第二周总结

结对感受

综合两个周的结对编程,我们觉得,通过循环语句设计四则运算在思路上简单,同时也有很多的不足之处,目前来看,不能支持多级运算是一个不足。同时,分数类计算的代码也请教了同学的帮助,没有完成单元测试类的代码。总的来说,还是有所收获的,相信在今后的学习中,可以充分发挥结对编程思想对学习的帮助。