加减计算器
一、预估与实际
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 4 | 65 |
• Estimate | • 估计这个任务需要多少时间 | 500 | 800 |
Development | 开发 | 500 | 750 |
• Analysis | • 需求分析 (包括学习新技术) | 70 | 90 |
• Design Spec | • 生成设计文档 | 60 | 90 |
• Design Review | • 设计复审 | 6 | 30 |
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 20 | 50 |
• Design | • 具体设计 | 300 | 580 |
• Coding | • 具体编码 | 300 | 640 |
• Code Review | • 代码复审 | 40 | 50 |
• Test | • 测试(自我测试,修改代码,提交修改) | 20 | 20 |
Reporting | 报告 | 20 | 20 |
• Test Repor | • 测试报告 | 10 | 6 |
• Size Measurement | • 计算工作量 | 8 | 11 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 6 | 20 |
合计 | 3121 |
二、需求分析
我通过上网查询的方式了解到,小学一二年级数学有如下的几个特点:
-
特点1:除了加减没有其它复杂的运算方式
特点2:运算的数字都比较小
特点3:运算都是最基础的 -
经过分析,我认为,这个程序应当:
在加减运算当中注意结果不要出现负数
在运算的式子中尽量使用简单的数字
三、设计
1. 设计思路
说明你如何设计这个程序
在设计这个程序的时候要充分考虑小学的运算法则和运算特点,从这些特征出发设计这个程序
2. 实现方案
写出具体实现的步骤
先把难度考虑周全,在生成题目,然后考虑运行会出现的可能,接着考虑文本怎么生成
技术关键点:随机方法:Math.radom()。
四、编码
1. 调试日志
-
-1.输入错误数据时,程序报错。
2. 关键代码输出结果时出现负数的情况
五、主要代码
while(p)
{
k=r.nextInt(100);
m=r.nextInt(100);
f=r.nextInt(10);
if (f%2==0) { //加法
if(k+m<=100)
{
first[i]=k;
second[i]=m;
fuhao[i]="+";
pass[i]=k+m;
i++;
}
}
else //减法
{
if(k-m>=0)
{
//System.out.println("("+(i+1)+") "+k+" - "+m+" = ");
first[i]=k;
second[i]=m;
fuhao[i]="-";
pass[i]=k-m;
i++;
}
}
if(i==n)
break;
}
六、总结
做完这次的实验后,发现自身存在很多的知识缺陷,在编辑代码时出现了一些基本错误,总而言之需要加强自身知识的巩固,向同学老师多请教!