设计思路:

  1.定义数组 char a[]={‘+’,’-’,’*’,’/’};

    定义不同的代数来分别代替相应的变量(如可定制(数量(n)/打印方式),数值范围)其中数值范围用(int)(Math.random()*(最大值-最小值)+最小值)定义;

   2.利用for循环进行n个算法的输出;

      用if语句进行相应条件的判断 :在是否有乘除法时当有乘除时在进行是否有余数的 否则不用判断是否有余数  ;

       其中定义j=(int)(Math.random()*4);来随机对应相应的运算符a[j];

        判断当为除法运算时分母是否为零,为零则停止本次运算;

 代码:

package suanfa;

import java.util.Scanner;

public class suanfa {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
     int i,j;
     //--------------------------------------可定制(数量/打印方式)--------------------------------------------------------------
     System.out.print("输入你想定制的题目数量 :" );
     Scanner in=new Scanner(System. in);
     int n=in.nextInt();
     
     //-------------------------------------------数值范围----------------------------------------------------------------------
     System.out.print("输入数值范围 的最小值:" );
     double number1=in.nextInt();
     System.out.print("输入数值范围 的最大值: " );
     double number2=in.nextInt();  
     double b[]= new double[n];
     double c[]=new double[n];
     double d[]=new double[n];   
     //-------------------------------------------是否有乘除法-------------------------------------------------------------------
     System.out.print("是否有乘除法:是--1;否--0 : " );
     int bool=in.nextInt();
     if(bool==1)
     {
      //-------------------------------------------除法有无余数-------------------------------------------------------------------
      System.out.print("是否有余数:是--1;否--0 : " );
      int  bool1=in.nextInt(); 
      char a[]={'+','-','*','/'};
      for( i=0;i<n;i++)
         {
             b[i]=(int)(Math.random()*(number2-number1)+number1); 
             c[i]=(int)(Math.random()*(number2-number1)+number1);
             j=(int)(Math.random()*(4-0)+0);
             if(c[i]==0&&a[j]=='/') continue;
             if(a[j]=='+')d[i]=b[i]+c[i];
             if(a[j]=='-')d[i]=b[i]-c[i];
             if(a[j]=='*')d[i]=b[i]*c[i];
             if(a[j]=='/') 
             {
              if(bool1==1)
              {
              if(b[i]%c[i]!=0)
              {
               d[i]=b[i]/c[i];
               System.out.print("有余数为 "+b[i]%c[i]+" : " );
                 
              }
              else continue;
              }
              else
              {
               if(b[i]%c[i]==0)
                {
                d[i]=b[i]/c[i];
                System.out.print("无余数: " );
                }
                  else continue;
              }
             }
             // ------------------------------------------- 题目避免重复()----------------------------------------------------------------------      
             if(i==0)
             {   if(b[0]==b[n-1]&&c[0]==c[n-1]&&d[0]==d[n-1])continue;}
             else
             {   if(b[i]==b[i-1]&&c[i]==c[i-1]&&d[i]==d[i-1])continue;}
             
            
             System.out.println(" ("+b[i]+") "+a[j]+" ("+c[i]+") =___;"+"   运行结果为:"+d[i] );
            
          }
      
      
     }
      
     
     else
     {
      char a[]={'+','-'};
      for( i=0;i<n;i++)
         {
             b[i]=(int)(Math.random()*(number2-number1)+number1); 
             c[i]=(int)(Math.random()*(number2-number1)+number1);
             j=(int)(Math.random()*(2-0)+0);
             if(c[i]==0&&a[j]=='/') continue;
             if(a[j]=='+')d[i]=b[i]+c[i];
             if(a[j]=='-')d[i]=b[i]-c[i];
             // ------------------------------------------- 题目避免重复()----------------------------------------------------------------------      
             if(i==0)
             {   if(b[0]==b[n-1]&&c[0]==c[n-1]&&d[0]==d[n-1])continue;}
             else
             {   if(b[i]==b[i-1]&&c[i]==c[i-1]&&d[i]==d[i-1])continue;}
             System.out.println(" ("+b[i]+") "+a[j]+" ("+c[i]+") =___;"+"   运行结果为:"+d[i] );
          }
     }
     
   }
}

截图:

                        周活动总结表:

 

听课

编写代码

阅读课本

准备考试

 

 

日总计

周日

 

 

30

 

 

 

30

周一

100

55

 

 

 

 

130

周二

 

45

 

 

 

 

45

周三

 

30

 

 

 

 

30

周四

 

 

 

 

 

 

 

周五

 

60

 22

 

 

 

80

周六

 

 120

 

 

 

 

 120

周总计

100

310

82

 

 

 

492

 

 

                                                                                        

                         时间记录日志:                                             

日期

开始时间

结束时间

中断时间

净时间

活动

备注

C

U

3/14

8:00

9:50

10

100

听课

理论学时,课件

 

 

 

15:00

16:30

35

55

编程序

作业,玩手机

 

 

3/15

15:10

16:20

45

45

编程序,讨论

睡觉,查相应的知识点

 

 

3/16

17:20

17:50

 

30

看书

《构建之法》

 

 

 

21:30

21:55

 

25

看书

 

《构建之法》

 

 

3/18

21:00

23:30

15+20

125

编程序,看书

 

 

 

3/19

8:30

11:00

45

115

编程序

 

 

 

 

15:30

17:45

 

120

编程序,写报告

 

 

 

 

                缺陷记录日志:

日期

编号

类型

引入阶段

排除阶段

修复时间

修复缺陷

 3/19

2

 20

编码

编译

40min

 

描述:if语句太多,关系太乱了