软件工程第二次作业

一、需求分析 

  (1)自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内

  (2)剔除重复算式。  2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式

  (3)题目数量可定制

  (4)相关参数可控制

            是否包含乘法和除法

            操作数数值范围可控(如操作数 在100以内   还是1000以内)

            操作数是否含负数    

   (5)生成的运算题存储到外部文件result.txt中

二、功能设计

  基本功能:自动生成四则运算试题

  扩展功能:(1)算出答案

       (2)多操作数运算

       (3)用户可以自己选择用加减,乘除,正负,整分

       (4)预留了多余的空间

三 测试运行

输入题目数量,结果参数大小,是否包含乘法除法

 

 

 

 五 相关代码

选择题目数量,结果大小,乘法除法

Scanner rea=new Scanner(System.in);
   System.out.println("请输入题目数量");
   int total=rea.nextInt();
   System.out.println("请输入参数大小");
   int nsieze=rea.nextInt();
   System.out.println("是否包含乘法,如果包含,请输入1");
   int flag=rea.nextInt();
   System.out.println("是否包含除法,如果包含,请输入1");
   int fl=rea.nextInt();
   int a,b;
   int k=0;
   for(;k<total;){
                int i;
    a=(int)(Math.random()*100);
    b=(int)(Math.random()*100);
    i=(int)(Math.random()*4);//加减乘除参数控制
    int n = 0;
   switch (i){
    case 0:  
     //int k=(int)(Math.random()*3);
                  if(i==0&&n<=nsieze)
     {n=a+b;
     k++;
     out.println(a+"+"+b+"="+n);
     System.out.println(a+"-"+b+"="+n);
     }

case 2:
    if(i==2&&n<=nsieze&&flag==1)
     n=a*b;
   {k++;
   out.println(a+"*"+b+"="+n);
   System.out.println(a+"*"+b+"="+n);
}  

导出到外部文件相关代码

PrintWriter out;//定义变量
            try{
            out=new PrintWriter("d:/test.txt");//输出的路径和文件名


            }catch(FileNotFoundException e){throw new RuntimeException(e);}

   out.println(a+"+"+b+"="+n);

判断重复

 for(int j=i;j>0&&j<5;j--){//从当前位置向前遍历数组元素       
                                     if(aa[i]==aa[j-1]){//比较操作数x是否重复
                                         if(dd[i]==dd[j-1]){//如重复比较操作符是否重复
                                             if(ee[i]==ee[j-1]){//如重复比较最后一个操作数是否重复
                                                 c=1;

六 总结

创建1个类,数字随机,选择题目数量,结果大小,乘法,除法,并且去除重复参数

最后输入结果,导出到外部文件

七、PSP

 

PSP2.1

任务内容

计划共完成需要的时间(min)

实际完成需要的时间(min)

Planning

计划

15

20

·       Estimate

·  估计这个任务需要多少时间,并规划大致工作步骤

15

20

Development

开发

350

410

··       Analysis

  需求分析 (包括学习新技术)

10

20

·       Design Spec

·  生成设计文档

0

0

·       Design Review

·  设计复审 (和同事审核设计文档)

0

0

·       Coding Standard

  代码规范 (为目前的开发制定合适的规范)

5

5

·       Design

  具体设计

15

20

·       Coding

  具体编码

300

340

·       Code Review

·  代码复审

10

10

·       Test

·  测试(自我测试,修改代码,提交修改)

10

15

Reporting

报告

30

40

··       Test Report

·  测试报告

20

25

·       Size Measurement

  计算工作量

0

0

·       Postmortem & Process Improvement Plan

原文地址:https://www.cnblogs.com/chenxiangyuu/p/11506646.html