20165219 2017-2018-2《Java程序设计》结对编程一 第二周总结
结对对象
20165219王彦博
20165232何彦达
需求分析
实现一个程序,要求:
1 支持整数运算
2 支持多运算符运算
3 支持分数运算,支持真分数运算
3 统计正确率
扩展需求:
1 处理生成题目并输出到文件
2 完成题目后从文件读入并判题
3 多语言支持:简体中文, 繁體中文, English
4 生成题目去重
设计思路
这是一个需要支持复杂运算的程序,不同于简单的单运算符的四则运算,需要设计多个类来实现运算,比如加减乘除以及平方的运算。
nml图(部分)
第一周
第二周
代码进度
整数类(第一周)
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();
}
}
分数类:
功能截图
正常边界异常的测试
结对感受
综合两个周的结对编程,我们觉得,通过循环语句设计四则运算在思路上简单,同时也有很多的不足之处,目前来看,不能支持多级运算是一个不足。同时,分数类计算的代码也请教了同学的帮助,没有完成单元测试类的代码。总的来说,还是有所收获的,相信在今后的学习中,可以充分发挥结对编程思想对学习的帮助。