第二周结对学习——四则运算 (总结)
需求分析
1.自动生成不重复的小学四则运算题目(+、-、x、÷)
- 支持整数和分数
- 支持多运算符(比如生成包含100个运算符的题目)
2.统计计算正确率
3.将生成题目和题目答案输出到文件
设计思路
1.随机生成表达式。
- 设置两个参数来决定生成表达式的数量及参与运算的数值范围,随机生成其范围内的自然数及运算符(包含括号)
- 表达式实现去重
2.能实现整数和分数的四则运算
- 设置一个类生成分数,并实现约分
- 在计算结果时,将整数当做分数来进行计算
3.将生成的题目以及题目对应的答案写入文件中
4.根据四则运算规律进行四则运算,能判断结果是否正确,并输出正确率。
UML类图
关键代码解释
public void Fraction(String FenShu) {
String[] File = null;
if (FenShu.contains("+")) {
File = FenShu.split("\\+");
Calculate(File, 0);
} else if (FenShu.contains("-")) {
File = FenShu.split("-");
Calculate(File, 1);
} else if (FenShu.contains("x")) {
File = FenShu.split("\\x");
Calculate(File, 2);
} else if (FenShu.contains("÷")) {
File = FenShu.split("÷");
Calculate(File, 3);
}
}
运行截图
代码托管
PSP
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
·Planning | 计划 | 60 | 100 |
·Estimate | ·估计这个任务需要多少时间 | 400 | 550 |
·Development | 开发 | 150 | 250 |
·Analysis | ·需求分析 (包括学习新技术) | 30 | 45 |
·Design Spec | · 生成设计文档 | 30 | 50 |
·Design Review | ·设计复审 (和同事审核设计文档) | 30 | 50 |
·Coding Standard | ·代码规范 (为目前的开发制定合适的规范) | 20 | 30 |
·Design | · 具体设计 | 60 | 100 |
·Coding | · 具体编码 | 150 | 200 |
·Code Review | ·代码复审 | 20 | 45 |
·Test | ·测试(自我测试,修改代码,提交修改) | 120 | 200 |
Reporting | ·报告 | 60 | 80 |
·Test Report | · 测试报告 | 15 | 25 |
·Size Measurement | ·计算工作量 | 10 | 20 |
·Postmortem &Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 25 | 40 |
合计 | 1180 | 1785 |
总结
1、对小伙伴的评价
- 结对学习真的会发现能创造出1+1>2的情况,一个人想问题想不出来的时候,如果不借助外力,真的会困死。但是两个人就不一样啦,遇到问题时可以相互讨论,彼此交换看法,常常会生出新的思路,解决问题的效率也能得到提高。
2、学到的东西
- 在生成文件时,利用
\r\n
来实现换行