第二次作业

211606309 焦成伟 211606373 马祎特

一、预估与实际

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划
• Estimate • 估计这个任务需要多少时间 1600 1765
Development 开发 300 350
• Analysis • 需求分析 (包括学习新技术) 240 300
• Design Spec • 生成设计文档 100 120
• Design Review • 设计复审 80 70
• Coding Standard • 代码规范 (为目前的开发制定合适的规范) 60 70
• Design • 具体设计 110 120
• Coding • 具体编码 60 70
• Code Review • 代码复审 60 80
• Test • 测试(自我测试,修改代码,提交修改) 300 330
Reporting 报告 120 130
• Test Repor • 测试报告 60 80
• Size Measurement • 计算工作量 10 15
• Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 20 30
合计 1520 1765

二、需求分析

我通过网上搜索的方式了解到,小学三年级数学有如下的几个特点:

  • 特点1:小学三年级有加减乘除运算。
  • 特点2:小学三年级可以掌握九九乘法表内的乘除。
  • 特点3:小学三年级还没学负数。

经过分析我认为这个程序

  • 运算符在2~4个
  • 可以加括号
  • 减法运算的结果不能有负数
  • 除法运算除数不能为0,不能有余数
  • 要先算括号内的数

三、设计

1. 设计思路

  • 是否能生成符合需求的随机数。
  • 判断输入题目是否符合需求。
  • 可以生成四则表达式。
  • 调用函数实现不同年级不同随机题目生成。

2. 实现方案

  • 准备工作:先在Github上创建仓库,克隆到本地。
  • 技术关键点:如何判断符号和添加括号,以及题目的生成。

四、编码

1. 调试日志

  • 第一次运行时发现出现负数,就在代码上加了一个循环让出现负数的时候跳过重新循环一组数字,但最后发现运行结果会出现NULL,最后我换了种思路,出现负数时X和Y对调,通过这种方法顺利解决了问题。

2. 关键代码

if(args[0].equals("-n"))
{
c[0] = Integer.parseInt(args[1]);
c[1] = Integer.parseInt(args[3]);
flag2=1;
}
else if(args[0].equals("-grade"))
{
c[0] = Integer.parseInt(args[3]);
c[1] = Integer.parseInt(args[1]);
flag2=2;
}

3. 代码规范

  • 方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵循驼峰形式。
  • 代码中的命名均不能以下划线或美元符号开始,也不能一下划线或美元符号结束。
  • 没有注意到被除数为0导致的错误 ; 解决方法 :随机数从1开始

五、测试

六、总结

因为基础太差,所以做的很吃力,因此花了非常多时间,多亏了队友的帮助。

posted @ 2018-09-19 10:44  冰梦浮华  阅读(199)  评论(0编辑  收藏  举报