1.需求分析
打印出好多份不同的题目,题目要避免重复,可定制数量和打印方式可以控制参数和符号
2.功能设计
基本功能:做一个100以内的2个操作数的四则运算,结果在100以内
扩展功能:剔除重复样式
题目数量、相关参数可控
操作数的数值范围和符号可控
3.设计实现
设计了一个类nnn,在一个类里面完成所有功能,利用Random()函数生成随机数
4.测试运行
5.代码片段
随机生成最大值和最小值之间的数
r1[i]=(int)(number3+Math.random()*(number4-number3)); r2[i]=(int)(number3+Math.random()*(number4-number3));
加和除的运算
if(s1[i].equals("+")) { S1[i]=(r1[i]+r2[i]+r4[i]); System.out.println(r1[i]+" + "+r2[i]+"+"+r4[i] +"="); } else if(s1[i].equals("/")) { //无余数 if(number6==0) { //如果所设范围太小,结果为整数的分母 r2[i]=(int)(number3+Math.random()*(number4-number3)); while(true) { if(r2[i]!=0) { S1[i]=(r1[i]/r2[i]); System.out.println(r1[i]+" ÷ "+r2[i]+" ="); break; } else //重新生成 { r2[i]=(int)(number3+Math.random()*(number4-number3)); } } } else { while(true) { if(r2[i]!=0) { S1[i]=(r1[i]/r2[i]); System.out.println(r1[i]+" ÷ "+r2[i]+" ="); break; } else //重新生成 { r2[i]=(int)(number3+Math.random()*(number4-number3)); }
6.总结
先把四则运算写出来,然后在根据要求一点点加功能,编写代码,然后调试。
7.撰写PSP
PSP2.1 | 任务内容 | 计划共完成需要的时间(min) | 实际完成需要的时间(min) |
Planning | 计划 | 15 | 20 |
Estimate |
估计这个任务需要多长时间, 并规划大致工作步骤 |
10 | 20 |
Development |
开发 |
240 | 800 |
Analysis | 需求分析(包括学习新技术) | 20 | 100 |
Design Spec | 生成设计文档 | 0 | 0 |
Design Review | 设计复审(和同事审核设计文档) | 0 | 0 |
Coding Standard |
代码规范(为目前的开发制定合 适的规范) |
5 | 10 |
Design | 具体设计 | 15 | 20 |
Coding | 具体编码 | 100 | 300 |
Code Review | 代码复审 | 30 | 70 |
Test | 测试(自我测试,修改代码,提交修改) | 50 | 90 |
Reporting | 报告 | 20 | 100 |
Test Report | 测试报告 | 0 | 0 |
Size Measurement | 计算工作量 | 0 | 0 |
Postmortem &Process Improvement Plan |
事后总结,并提出过程改进计划 | 15 | 60 |
很多时间用在了编写代码和运行上面,这种程度的题对于我来说有点难,有些功能没有做出来,程序基础不是很好,在同学的帮助下勉强做完,对题目也不是很理解,会努力学习的。
PSP2.1 |
任务内容 |
计划共完成需要的时间(min) |
实际完成需要的时间(min) |
Planning |