一.需求分析
(1)自动生成10道100以内的2个操作数的四则运算算式(+ - * /)
(2)剔除重复算式
(3)题目数量可定制
(4) 是否包含乘法和除法
操作数数值范围可控(如操作数 在100以内 还是1000以内)
操作数是否含负数
(5)生成的运算题存储到外部文件result.txt中
二. 功能设计
基本功能:自动生成四则运算算式
题目数量可控制
数值范围可控
是否含有正负数
三.设计实现
五. 粘贴自己觉得比较独特的或满意的代码片段,用博客园正确的代码控件来显示
1.加减法
for(;i<=Num;){ //题目数量定制 int num1=(int)(Math.random()*all);//自动生成算数 int num2=(int)(Math.random()*all);switch (fuhao) {
case 0: //加法if(num1+num2<all){ out.println(i+". "+num1+"+"+num2+"="); i++; } break; case 1: //减法 if(num1-num2<all){ out.println(i+". "+num1+"-"+num2+"="); i++; } break;
2.乘除法
if(num1/num2>0&&num1/num2<all){ //控制数值范围 out.println(i+". "+num1+"/"+num2+"="); i++; } break; default: if(num1*num2>0&&num1*num2<all){ out.println(i+". "+num1+"*"+num2+"="); i++; } break;
3.控制负数
int fushu=(int)(-all-Math.random()*2*all); //随机生成负数 if(k==1&&num1+num2<all&&num1+num2>-all){ out.println(i+". "+fushu+"+"+num2+"="); i++;} if(k==1&&fushu-num2<all&&fushu-num2>-all){ out.println(i+". "+fushu+"-"+num2+"="); i++; }
4.生成的运算题存储到外部文件result.txt
import java.io.FileNotFoundException; import java.io.PrintWriter; PrintWriter out; try{ out=new PrintWriter("d:/result.txt");//存储的路径和文件名 }catch(FileNotFoundException e){throw new RuntimeException(e);} if(k==1&&num1+num2<all&&num1+num2>-all){ out.println(i+". "+fushu+"+"+num2+"=");// 在外部文件中写入 i++; out.close(); //关闭文件
5.查重
int[] numa = new int[5]; String[]str = new String[5]; int[]numb = new int[5]; //存入算式值 numa[i]=x; str[i]=str0[ran0]; numb[i]=y; int chongfu= 0; //判断重复 for(int j=i;j>0&&j<5;j--){//从当前位置向前遍历元素 if(numa[i]==numa[j-1]){//比较操是否重复 if(str[i]==str[j-1]){
if(numb[i]==numb[j-1]){ chongfu=1;
六. 总结:你设计的程序如何实现软件设计的“模块化”原则。
按功能分布写语句
七、 尝试撰写PSP
PSP2.1 | 任务内容 | 计划共完成需要的时间(h) | 实际完成需要的时间(h) |
Planning | 计划 | 8 | 48 |
Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 8 | 48 |
Development | 开发 | 4 | 24 |
Analysis | 需求分析 (包括学习新技术) | 30min | 30min |
Design Spec | 生成设计文档 | 0 | 0 |
Design Review | · 设计复审 (和同事审核设计文档) | 0 | 0 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 0 | 0 |
Design | 具体设计 | 30min | 30min |
Coding | 具体编码 | 8 | 28 |
Code Review | 代码复审 | 3 | 8 |
Test | 测试(自我测试,修改代码,提交修改) | 1 | 2 |
Reporting | 报告 | 1 | 30min |
Test Report | 测试报告 | 30min | 50min |
Size Measurement | 计算工作量 | 2 | 2 |
Postmortem & Process Improvement Plan | 事后总结 ,并提出过程改进计划 | 20min | 20min |