a.需求分析:
1.除了支持整数的四则运算之外,还要支持真分数的四则运算
2.运算符为 +,-,×,÷
3.要求能处理用户的输入,并判断对错,打分统计正确率
4.要求能处理用户输入的真分数
5.用参数控制题目的生成数量
b.功能分析
1.实现整数的题目生成并处理用户的输入
2.处理真分数的四则运算并处理用户输入
3.判断对错并给出正确率
4.由用户输入决定出题数量
5.具备约分功能,在出现1/1,3/3这种能智能换成整数
c.设计实现
1.本程序采用java语言编写,但是编写的思路接近C语言,在一个类中编写了两个方法,主界面由用户选择是整数运算还是真分数运算,通过输入选择调用不同的方法
2.自动生成的计算式都是通过随机数,整数运算我自己定义10以内的四则运算,真分数运算我把分母最大也设置为10,运算符号同样是随机产生
3.真分数四则运算需要用到一个约分的方法,在方法中解决1/1,3/3之类的输出
d.代码说明
1.约分程序的通过辗转相除,并对辗转相除之后的情况进行处理,使得输出美观。
2.在产生四则运算的时候,内部已经完成计算并放入数组中,在用户输入题目答案之后,程序会把自己计算的结果跟输入的结果进行比对,相同则输出“正确”,不同则输出“错误”,在用户输入所有题目的结果之后,可控制输出正确答案和正确率。
e.测试运行
码市链接:https://git.coding.net/zzj201421123118/second.git
PSP展示
PSP2.1 | Personal Software Process Stages | Time (%) Senior Student(/hour) | Time (%)(/hour) |
· Planning | 计划 | 2h | 1.5h |
· Estimate | 估计这个任务需要多少时间 | 40h | 45h |
· Analysis | 需求分析 (包括学习新技术) | 2h | 1h |
· Coding Standard | 代码规范 | 1h | |
· Design | 具体设计 | 1.5 | 1 |
· Coding | 具体编码 | 20h | 25h |
· Test | 测试(自我测试,修改代码,提交修改) | 1h | 1.5h |
Reporting | 报告 | 1h | 1h |
小结:
这次程序设计让我温习了以前的知识,而且大部分的需求都得到了实现。但是,我认为还有一些不尽如人意的不足。首先是因为除法我设置的是输出小数,许多部分都是重复的,所以代码还有可以简化的地方;还有就是因为我把除法的输出设置成float类型,所以小数后面有8位,这样遇到1/3这样的数字,就得在后面输出八位小数才行。我个人觉得这两点还值得改进。