软件工程个人作业01

 

 1.实验代码:

package 四则;

import java.util.Random;

import java.util.Scanner;

/*

 * 四则运算    2017.3

 * 1.支持真分数计算

 * 2.题目不能重复

 * 3.是否有乘除法

 * 4.是否有括号

 * 5.数值范围

 * 6.加减有无负数

 * 7.除法有无余数

 */

 

 

public class Yunsuan{

    public static void main(String[] args){

     A a =new A();

     Scanner sc=new Scanner(System.in);

     System.out.println("请输入题目的数目:");

     int q=sc.nextInt();

     a.q=q;

     System.out.println("请输入数值的范围:");

     int z=sc.nextInt();

     int v=sc.nextInt();

     a.z=z;

     a.v=v;

     System.out.println("是否有乘除法(1.有    2.)");

     int t=sc.nextInt();

    

     if(t==1)   //算式有除法

     {

     a.xunhuan1();

     }

     else if(t==2)    //算式无除法

     {

     a.xunhuan2();

     }

     

    }

}

class A//循环输出

{

  int i;

  int sum=0,sum1=0,sum2=0,q=3;

     int z=120,v=120;

     Random random = new Random();

void xunhuan1()//有乘除法

   {

  for(i=0;i<q;i++)

   {

  int  n = random.nextInt(v)%(v-z+1) + z;

  int  m = random.nextInt(v)%(v-z+1) + z;

  int  w = random.nextInt(v)%(v-z+1) + z;

  int  e = random.nextInt(v)%(v-z+1) + z;

  int  x = random.nextInt(4);  

   sum1=n/m;

   sum2=w/e;

   if(n<m&&w<e)//真分数

   {

   if(x==0)

    {

       System.out.print("(");

       System.out.print(n);

       System.out.print("/");

       System.out.print(m);

       System.out.print(")");

       System.out.print("+");

       System.out.print("(");

   System.out.print(w);

   System.out.print("/");

   System.out.print(e);

   System.out.print(")");

   System.out.print("=");

   System.out.println();

    }

   else if(x==1)

   {

   sum=sum1-sum2;

   if(sum<0)

display3();

   else

{

   System.out.print("(");

   System.out.print(n);

   System.out.print("/");

   System.out.print(m);

   System.out.print(")");

   System.out.print("-");

   System.out.print("(");

   System.out.print(w);

   System.out.print("/");

   System.out.print(e);

   System.out.print(")");

   System.out.print("=");

   System.out.println();

}

   }

   else if(x==2)//乘法

   {

    System.out.print("(");

    System.out.print(n);

    System.out.print("/");

    System.out.print(m);

    System.out.print(")");

    System.out.print("*");

    System.out.print("(");

    System.out.print(w);

    System.out.print("/");

    System.out.print(e);

    System.out.print(")");

    System.out.print("=");

    System.out.println();

   }

   else if(x==3)//除法

   {

   System.out.print("(");

   System.out.print(n);

   System.out.print("/");

   System.out.print(m);

   System.out.print(")");

   System.out.print("/");   //

   System.out.print("(");

   System.out.print(w);

   System.out.print("/");

   System.out.print(e);

   System.out.print(")");

   System.out.print("=");

   System.out.println();

   }

   

   }

   else

   {

   

   if(x==0)

   {

    System.out.print(n);

       System.out.print("+");

       System.out.print(m);

         System.out.print("=");

         System.out.println();

   }

   else if(x==1)

{

       sum=n-m;

        if(sum<0)

         display4();

        else

{

         System.out.print(n);

         System.out.print("-");

         System.out.print(m);

         System.out.print("=");

         System.out.println();

}

}

   else if(x==2)

   {

    System.out.print(n);

    System.out.print("*");

    System.out.print(m);

    System.out.print("=");

    System.out.println();

   }

   else if(x==3)

   {

    System.out.print(n);

    System.out.print("/");

    System.out.print(m);

    System.out.print("=");

    System.out.println();

   }

  

   }

   }

   }

 

   void xunhuan2()//无乘除法

   {

  for(i=0;i<q;i++)

   {

   int n1 = random.nextInt(v)%(v-z+1) + z;

   int m1 = random.nextInt(v)%(v-z+1) + z;

   int w1 = random.nextInt(v)%(v-z+1) + z;

   int e1 = random.nextInt(v)%(v-z+1) + z;

   int x1 = random.nextInt(2);

   sum1+=n1/m1;

   sum2+=w1/e1;

   if(n1<m1&&w1<e1)

   {

   if(x1==0)//加法

   {

   System.out.print("(");

   System.out.print(n1);

   System.out.print("/");

   System.out.print(m1);

   System.out.print(")");

   System.out.print("+");

   System.out.print("(");

   System.out.print(w1);

   System.out.print("/");

   System.out.print(e1);

   System.out.print(")");

   System.out.print("=");

   System.out.println();

   }

   else if(x1==1)//减法

   {

  sum=sum1-sum2;

   if(sum<0)

display1();

   else

{

   System.out.print("(");

   System.out.print(n1);

   System.out.print("/");

   System.out.print(m1);

   System.out.print(")");

   System.out.print("-");

   System.out.print("(");

   System.out.print(w1);

   System.out.print("/");

   System.out.print(e1);

   System.out.print(")");

   System.out.print("=");

   System.out.println();

}

   }

  

   }

   else

   {

  

   if(x1==0)

   {

   System.out.print(n1);

   System.out.print("+");

   System.out.print(m1);

   System.out.print("=");

   System.out.println();

   }

   else if(x1==1)

{

       sum=n1-m1;

        if(sum<0)

         diaplay2();

        else

         {

           System.out.print(n1);

         System.out.print("-");

         System.out.print(m1);

System.out.print("=");

System.out.println();

         }

}

   

   }

   }

   }

   void display1()

   {

   int n1 = random.nextInt(v)%(v-z+1) + z;

   int m1 = random.nextInt(v)%(v-z+1) + z;

   int w1 = random.nextInt(v)%(v-z+1) + z;

   int e1 = random.nextInt(v)%(v-z+1) + z;

   int x1 = random.nextInt(2);

   sum1+=n1/m1;

   sum2+=w1/e1;

 

   System.out.print("(");

   System.out.print(w1);

   System.out.print("/");

   System.out.print(e1);

   System.out.print(")");

   System.out.print("-");

   System.out.print("(");

   System.out.print(n1);

   System.out.print("/");

   System.out.print(m1);

   System.out.print(")");

   System.out.print("=");

   System.out.println();

   

   }

     void diaplay2()

     {

        int n1 = random.nextInt(v)%(v-z+1) + z;

   int m1 = random.nextInt(v)%(v-z+1) + z;

   int w1 = random.nextInt(v)%(v-z+1) + z;

   int e1 = random.nextInt(v)%(v-z+1) + z;

   int x1 = random.nextInt(2);

    

   System.out.print(m1);

   System.out.print("-");

   System.out.print(n1);

   System.out.print("=");

   System.out.println();

     }

     void display3()

   {

   int n = random.nextInt(v)%(v-z+1) + z;

   int m = random.nextInt(v)%(v-z+1) + z;

   int w = random.nextInt(v)%(v-z+1) + z;

   int e = random.nextInt(v)%(v-z+1) + z;

   int x = random.nextInt(2);

   sum1+=n/m;

   sum2+=w/e;

  

   System.out.print("(");

   System.out.print(w);

   System.out.print("/");

   System.out.print(e);

   System.out.print(")");

   System.out.print("-");

   System.out.print("(");

   System.out.print(n);

   System.out.print("/");

   System.out.print(m);

   System.out.print(")");

   System.out.print("=");

   System.out.println();

  

   }

     void display4()

     {

        int n = random.nextInt(v)%(v-z+1) + z;

   int m = random.nextInt(v)%(v-z+1) + z;

   int w = random.nextInt(v)%(v-z+1) + z;

   int e = random.nextInt(v)%(v-z+1) + z;

   int x = random.nextInt(2);

    

   System.out.print(m);

   System.out.print("-");

   System.out.print(n);

   System.out.print("=");

   System.out.println();

     }

}

 

2.项目计划总结:

日期 听课 编写程序 阅读课本 日总计
周日        
周一 100min 60min   160min
周二     120min 120min
周三        
周四        
周五   60min   60min
周六   320min   320min
周总计 100min 420min 120min 660min

 3.

时间记录日志:

日期 开始时间 结束时间 中断时间 净时间 活动 备注
3/14 8:00 9:50 10min 100min 上课  
  15:00 16:00   60min 编程 完善第一次作业中不足的部分
3/15 14:00 16:00   120min 设计 阅读数据结构相关内容,并且写设计思路
3/18 21:00 22:00   60min 编程

把第一次作业Java中基本架构写成C++

(其实本来是想C++可以应用数据结构

的内容来实现添加括号,后来发现也不会)

3/19 9:30 16:00 70min 320min 编程 添加功能

缺陷记录日志:

日期 编号 类型 引入阶段 排除阶段 修复时间 修复缺陷
3/19 1 10 编码 编译 10min  

描述:一开始我用for循环来输出,查重部分如果查到重复的,

就要多循环一次,所以我改成while

  2 100 编码 编码 10min  

描述:查重部分的代码位置的调整,因为我添加功能的方法会

改变原来随机生成数的值

posted @ 2017-07-03 13:28  伊人醉  阅读(89)  评论(0编辑  收藏  举报