MathExam
Posted yhd12
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MathExam相关的知识,希望对你有一定的参考价值。
@一二年级算术
一、预估与实际
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 600 | 610 |
? Estimate | ? 估计这个任务需要多少时间 | 600 | 610 |
Development | 开发 | 600 | 610 |
? Analysis | ? 需求分析 (包括学习新技术) | 30 | 30 |
? Design Spec | ? 生成设计文档 | 30 | 35 |
? Design Review | ? 设计复审 | 20 | 25 |
? Coding Standard | ? 代码规范 (为目前的开发制定合适的规范) | 40 | 50 |
? Design | ? 具体设计 | 30 | 40 |
? Coding | ? 具体编码 | 200 | 250 |
? Code Review | ? 代码复审 | 30 | 25 |
? Test | ? 测试(自我测试,修改代码,提交修改) | 30 | 45 |
Reporting | 报告 | 30 | 30 |
? Test Repor | ? 测试报告 | 20 | 30 |
? Size Measurement | ? 计算工作量 | 30 | 30 |
? Postmortem & Process Improvement Plan | ? 事后总结, 并提出过程改进计划 | 20 | 20 |
合计 |
二、需求分析
我通过小学数学大纲的方式了解到,小学一年级数学有如下的几个特点:
特点1 计算数值小
特点2 运算简易
经过分析,我认为,这个程序应当:
- 小学二年级乘法的两个数字应大于0小于10
- 小学一年级算术加法和减法只在100以内之间相加减,且不存在相减为负数
三、设计
1. 设计思路
- 用户输入的参数,需要判断是否符合要求
- 题目随机生成,需要符合一二年级的算术规则
- 减法不能产生负数,除法不能整除的情况下,要产生商
文件的生成与写入
2. 实现方案
写出具体实现的步骤
- 准备工作:先在Github上创建仓库,克隆到本地...
- 输出out.txt文件
- 如何用命令行输出参数
四、编码
- 到args数组来实现从命令行中接收参数
- 用Random没有种子的构造函数来生成随机数
1. 调试日志
记录编码调试的日志,请记录下开发过程中的 debug 历程
- 在减法运算中,可能出现a-b小于0,小学没有结果为负数的算术
,所a和b对换并相减 - 无法用命令行输入参数 ,用args数组解决
2. 关键代码
请展示一段程序的关键代码,并解释代码的作用
try(PrintWriter p = new PrintWriter("out.text")) {
for (int i = 0; i <=(2*n-2); i=i+2)
p.println(MathExam5242.answer.get(i));
p.println("--------------- 标准答案---------------");
for (int i = 0; i <=(2*n-2); i=i+2) {
p.print(MathExam5242.answer.get(i));
p.println(MathExam5242.answer.get(i+1));
}
p.close();
} catch (Exception e) {
// TODO: handle exception
}
- 创建out.text,把题目和答案存入
3. 代码规范
请给出本次实验使用的代码规范:
- 第一条 代码的命名不规范向,这次写的代码命名就很不规范
- 第二条 if/else if/.....使用必须用大括号
- 第三条 采用四个空格缩进,不能使用tab键
- 第四条 单行注释使用// ,多行注释使用/**/
五、测试
请思考并记录你认为必要的测试点,并记录测试用例与测试结果
- 输入 7 ,2 ,输出在TXT中正确输出题目和答案
- 输入6,2,1,输出参数不能大于2,不能为空
- 输入7,-2 输出第二个参数错误
六、总结
请总结过程中的教训和经验,思考
- 做这个前首先想好加减乘除每一个的简单算法
- 写代码的格式很不规范,慢慢实践
- 平时代码量少,这次的很多不理解的经过舍友的点播,理解了一些
- 拿到项目前一定要先分析需求,构思大致方向
以上是关于MathExam的主要内容,如果未能解决你的问题,请参考以下文章