加减计算器

一、预估与实际

PSP2.1Personal 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;
}

六、总结

做完这次的实验后,发现自身存在很多的知识缺陷,在编辑代码时出现了一些基本错误,总而言之需要加强自身知识的巩固,向同学老师多请教!

posted @ 2018-09-11 23:43  个人信息  阅读(207)  评论(0编辑  收藏  举报