软件工程个人作业--3

小组成员:李国帅、陈鹏;

设计思路:

  在 2的基础上添加一个判断语句;

package suanfa;

import java.util.Scanner;

public class suanfa {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
     int i,j,number=0,time=0;
     //--------------------------------------可定制(数量/打印方式)--------------------------------------------------------------
     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++)
         {
    		 time=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]=='/')
            	 {
            	 i=time-1;
            	 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
            		  {
            		  i=time-1;
            		  continue;
            		  }
            	  }
             else
            	 {
            		 if(b[i]%c[i]==0)
            			 {
            			 d[i]=b[i]/c[i];
            			 //System.out.print("无余数: " );
            			 }
                	 else
                		 {
                		 i=time-1;
                		 continue;
                		 }
            	 }
             }
             // ------------------------------------------- 题目避免重复()----------------------------------------------------------------------      
             if(i==0)
              {  
            	 if(b[0]==b[n-1]&&c[0]==c[n-1]&&d[0]==d[n-1])
            		 {
            		 i=time-1;
            		 continue;
            		 }
              }
             else
              {
             	 if(b[i]==b[i-1]&&c[i]==c[i-1]&&d[i]==d[i-1])
             		 {
             		 i=time-1;
             		 continue;
             		 }
               }
              
             System.out.println(" ("+b[i]+") "+a[j]+" ("+c[i]+") =___;" );
           //--------------------------------------------答案是否正确-------------------------------------------------------------
             System.out.println(" 输入你认为正确的答案:" );
             int daan=in.nextInt();
             if(daan==d[i])
             {
            	 System.out.println(" 您答对了;正确答案为  :"+d[i] +";");
            	 number++;
             }
             else
             {
            	 System.out.println(" 您答错了;正确答案为  :"+d[i] +";");
             }
          
          }	 
    	 System.out.println(" 您答对了:"+number +" 道题;");
     }
      
     
     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]=='/') 
            	 {
            	 i=time-1;
            	 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])
            		 {
            		 i=time-1;
            		 continue;
            		 }
            	 }
             else
             {  
            	 if(b[i]==b[i-1]&&c[i]==c[i-1]&&d[i]==d[i-1])
            	 {
            		 i=time-1;
            		 continue;
            	 }
            }
             System.out.println(" ("+b[i]+") "+a[j]+" ("+c[i]+") =___;" );
             //--------------------------------------------答案是否正确-------------------------------------------------------------
             System.out.println(" 输入你认为正确的答案:" );
             int daan=in.nextInt();
             if(daan==d[i])
             {
            	 System.out.println(" 您答对了;正确答案为  :"+d[i] +";");
            	 number++;
             }
             else
             {
            	 System.out.println(" 您答错了;正确答案为  :"+d[i] +";");
             }
          
          }
    	 System.out.println(" 您答对了:"+number +" 道题;");
     }
     
   }
}

 截图:

                                                周活动总结表:

听课

编写代码

阅读课本

准备考试

日总计

周日

周一

100

 50

150

周二

30

30

周三

周四

 50

 50

周五

 40

40

周六

 120

 120

周总计

100

200

90

390

                                                                                        

                         时间记录日志:                                             

日期

开始时间

结束时间

中断时间

净时间

活动

备注

C

U

3/21

8:00

9:50

10

100

听课

理论学时,课件

15:00

16:10

20

50

编程序

3/22

15:10

15:40

40

编程序,讨论

3/24

17:20

18:10

50

编程序

3/25

21:00

22:00

20

40

看书

3/26

9:00

11:00

40

80

编程序

 16:00

 16:40

 40

 写报告

                缺陷记录日志:

日期

编号

类型

引入阶段

排除阶段

修复时间

修复缺陷

 3/26

2

 20

编码

编译

20min

描述:在判断时累计答对多少时出现错误(原因:累计的竖放错位置)

        当执行cointine时会出现列出的算数数量变少(重新定义代数来代表当前执行的数)

      

      

原文地址:https://www.cnblogs.com/chenpengmeng/p/5323374.html