一、结对信息
项目组合 郭炜埕 201521123065 郑晓丽 201521123066
项目地址 (https://gitee.com/vicheng/four_operations/tree/master)
二、结对编程
1、需求分析
原来的代码只实现简单的两位数之间的加减乘除,而我们为需要改进其功能,实现了三位数的计算,并加了括号
改进后界面:
改进前类图:
改进后类图:
2、程序设计
3、代码展示
关键代码展示:
···
double g(double a, double b, String m) {
double v = 0;
switch (m) {
case "+":
v = a + b;
break;
case "-":
v = a - b;
break;
case "×":
v = a * b;
break;
case "÷":
v = a / b;
break;
}
return v;
}
private List<Object> trans(String s) {
Stack<Character> op = new Stack<Character>();
ArrayList<Object> list = new ArrayList<Object>();
Pattern P = Pattern.compile("[0-9]+(\\.[0-9]+)?"); // 正则表达式来处理带小数点的数字
int i = 0;
while (i < s.length()) {
char c = s.charAt(i);
if (c >= ‘0‘ && c <= ‘9‘) {
String s1 = s.substring(i);
Matcher m = P.matcher(s1);
if (m.find()) { // 取匹配到的第一个数字
s1 = m.group();
list.add(s1);
}
i = i + s1.length();
continue;
} else if (c == ‘(‘) {
op.push(c);
} else if (c == ‘)‘) {
char p = op.pop();
while (p != ‘(‘) {
list.add(p);
p = op.pop();
}
} else if (c == ‘+‘ || c == ‘-‘) {
while (!op.isEmpty()
&& (op.peek() == ‘+‘ || op.peek() == ‘-‘ || op.peek() == ‘ב || op.peek() == ‘÷‘)) {
list.add(op.pop());
}
op.push(c);
} else if (c == ‘ב || c == ‘÷‘) {
while (!op.isEmpty() && (op.peek() == ‘ב || op.peek() == ‘÷‘)) {
list.add(op.pop());
}
op.push(c);
}
i++;
}
while (!op.isEmpty()) {
list.add(op.pop());
}
return list;
}
}
```
4、程序运行
输入习题数,有选择语言的功能
简体中文
d
繁体中文
英文
开始
进入运算界面,开始计时
输入答案
5、测试
(1)、对原先的代码进行的代码覆盖率的测试
(2)、对改进后的代码进行单元测试(主要测试算法)
测试代码:
测试结果:
(3)、对改进后的代码进行覆盖率测试
解读:类似与于Arithmetic里面switch语句部分执行,选择性语句
或者检测异常,如果没有异常,里面的语句便不会执行
诸如此类的会降低覆盖率
6、PSP表格
PSP2.1 | 个人开发流程 | 预估耗费时间(分钟) |
---|---|---|
Planning | 计划 | 18 |
· Estimate | 明确需求和其他相关因素,估计每个阶段的时间成本 | 10 |
· Analysis | 需求分析 (包括学习新技术) | 6 |
· Design Review | 设计复审 | 4 |
· Coding Standard | 代码规范 | 5 |
· Design | 具体设计 | 20 |
· Coding | 具体编码 | 36 |
· Code Review | 代码复审 | 7 |
· Test | 测试(自我测试,修改代码,提交修改) | 22 |
· | 并提出过程改进计划 | 10 |
7、码云提交记录
8、小结感受
我们的功能还待完善,在输入答案栏需要输入一位小数,如果答案是无限不循环小数,还没法实现保留几位小数的功能。两个人结对编程相当于合作,
要互相了解,并完成自己的任务。在团队中认识到自己的不足,也能看到队友身上的优点。继续努力学习
附上图片
原文地址:https://www.cnblogs.com/zxl3066/p/8643902.html
时间: 2024-10-10 04:27:27