20194654 软件工程作业
一.需求分析
(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 |

浙公网安备 33010602011771号