GitHub项目地址:https://github.com/TUOZF/test.git
一、需求分析
- 为了让小学生得到充分锻炼,每个练习题至少要包含2种运算符。同时,由于小学生没有分数与负数的概念,你所出的练习题在运算过程中不得出现负数与非整数,比如不能出 3/5+2=2.6,2-5+10=7等算式。
- 练习题生成好后,将你的学号
- 当程序接收的参数为4时,以下为输出文件示例。
二、功能分析
- 输入需要产生的题目个数。
- 随机生成一个包含2~4个数字号的表达式。
- 屏幕依次显示产生的题目以及计算结果。
- 最后将运算表达式和计算结果写入result.txt文件。
三、设计实现
四、测试运行
输入5时运行结果如图所示:
五、核心代码
if(cz.equals("/")) //判断是否为除号,如果是除号,调用div函数,知道可以整除 b=div(a,b); try { if(s==0) //s=0时随机产生两位的运算式 { System.out.print(a+cz+b+"="); se.eval("var a="+a+";var b="+b+";print((a"+cz+"b));"); //调用js中的eval函数 as=String.valueOf(a)+String.valueOf(cz)+String.valueOf(b); Expression.add(as); //将表达式存入数组 } if(s==1) //s=1时随机产生三位数的运算式 { System.out.print(a+cz+b+cz1+c+"="); se.eval("var a="+a+";var b="+b+";var c="+c+";print((a"+cz+"b"+cz1+"c));"); as=String.valueOf(a)+String.valueOf(cz)+String.valueOf(b)+String.valueOf(cz1)+String.valueOf(c); Expression.add(as); } if(s==2) //s=2时随机产生四位数的运算式 { System.out.print(a+cz+b+cz1+c+cz2+d+"="); se.eval("var a="+a+";var b="+b+";var c="+c+";var d="+d+";print((a"+cz+"b"+cz1+"c"+cz2+"d));"); as=String.valueOf(a)+String.valueOf(cz)+String.valueOf(b)+String.valueOf(cz1)+String.valueOf(c)+String.valueOf(cz2)+String.valueOf(d); Expression.add(as); }
六、总结
大二学习过java之后就再也没用java写过程序,很多东西都忘了,突然要用java写程序,感觉很吃力,再加上这程序确实有点难,起码对于我来说,很难,要产生随机式,还要保证能够整除,结果不能为负,这些问题看起来很简单,但实际写起来真的很难。经过几天网上搜索资料,参考同学的项目,只能说很侥幸的完成了这次项目,但部分功能并没有实现,例如结果不能为负。在整个写程序的过程中,最吃力的就是计算结果这一块了,不过经过几天的努力,总算写出来了,而且也从中学习到了很多知识。
总的来说,虽然部分功能没能实现,但总体上来说还是可以的!
七、生成PSP
PSP2.1 |
任务内容 |
计划完成需要的时间(min) |
实际完成需要的时间(min) |
Planning |
计划 |
10 |
15 |
Estimate |
估计这个任务需要多少时间,并规划大致工作步骤 |
8 |
15 |
Development |
开发 |
180 |
250 |
Analysis |
需求分析 (包括学习新技术) |
10 |
12 |
Design Spec |
生成设计文档 |
5 |
6 |
Design Review |
设计复审 (和同事审核设计文档) |
5 |
6 |
Coding Standard |
代码规范 (为目前的开发制定合适的规范) |
12 |
25 |
Design |
具体设计 |
25 |
35 |
Coding |
具体编码 |
120 |
200 |
Code Review |
代码复审 |
14 |
20 |
Test |
测试(自我测试,修改代码,提交修改) |
12 |
21 |
Reporting |
报告 |
5 |
10 |
Test Report |
测试报告 |
4 |
5 |
Size Measurement |
计算工作量 |
5 |
7 |
Postmortem & Process Improvement Plan |
事后总结 ,并提出过程改进计划 |
5 |
5 |