让人快乐的数学题
一、预估与实际
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 20 | 35 |
• Estimate | • 估计这个任务需要多少时间 | 2 | 2 |
Development | 开发 | 120 | 240 |
• Analysis | • 需求分析 (包括学习新技术) | 60 | 90 |
• Design Spec | • 生成设计文档 | 30 | 60 |
• Design Review | • 设计复审 | 40 | 50 |
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 20 | 30 |
• Design | • 具体设计 | 60 | 60 |
• Coding | • 具体编码 | 300 | 360 |
• Code Review | • 代码复审 | 20 | 40 |
• Test | • 测试(自我测试,修改代码,提交修改) | 10 | 30 |
Reporting | 报告 | ||
• Test Repor | • 测试报告 | 20 | 30 |
• Size Measurement | • 计算工作量 | 20 | 40 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 30 | |
合计 | 960 |
二、需求分析
我通过查百度的方式了解到,小学一年级数学有如下的几个特点:
- 特点 简单,最多两位数加减法,一般不大于20
经过分析,我认为,这个程序应当:
- 使用的数字小于20
三、设计
1. 设计思路
说明你如何设计这个程序
根据要求进行判断,
循环输出字符串数组
2. 实现方案
写出具体实现的步骤
- 准备工作:先在Github上创建仓库,克隆到本地...
四、编码
1. 调试日志
记录编码调试的日志,请记录下开发过程中的 debug 历程
-输出结果加减符号一样,因为判断语句出现错误
-输出数组结果报错,下标应从0开始
2. 关键代码
for (int p = 0; p < n; p++) {
Random t = new Random();
int y = t.nextInt(2);
Random r = new Random();
int i = r.nextInt(20) + 1;
int j = r.nextInt(20) + 1;
if (y == 0) {
System.out.println("(" + (p + 1) + ")" + " " + i + " × " + j + " " + "=");
b[p] = ("(" + String.valueOf(p + 1) + ")" + " " + String.valueOf(i) + " × " + String.valueOf(j)
+ " = " + String.valueOf(i * j));
} else {
int k = 0;// 防止结果是小数
if (j > i) {
k = j;
j = i;
i = k;
}
System.out.println("(" + (p + 1) + ")" + " " + i + " ÷ " + j + " " + "=");
b[p] = ("(" + String.valueOf(p + 1) + ")" + " " + String.valueOf(i) + " ÷ " + String.valueOf(j)
+ " = " + String.valueOf(i / j) + " ... " + String.valueOf(i % j));
}
}
System.out.println("--------------标准答案--------------");
for (int p = 0; p < n; p++) {
System.out.println(b[p]);
}
3. 代码规范
请给出本次实验使用的代码规范:
- 尽量ctrl+Shift+f,使看起来大方美观
并人工检查代码是否符合规范
五、测试
输入6,1,好像没毛病。。。
输入6,6,超出范围进行其他步骤
六、总结
请总结过程中的教训和经验,思考
- 感觉自己基础实在太差,写了一堆一直在报错,不断上网查还有问同学
- 即使最后写完了,仍感觉漏洞百出,很不完善,急需查漏补缺,补充知识。
- 应该敲得时候更认真信心一点,避免不必要的麻烦,
- 找错可真是一件“快乐”的事情。