zoukankan      html  css  js  c++  java
  • 软件工程个人作业--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时会出现列出的算数数量变少(重新定义代数来代表当前执行的数)

          

          

  • 相关阅读:
    php 5.3新特性
    php:// — 访问各个输入/输出流(I/O streams)
    php 二维数组排序
    js 面向对象式编程
    jQuery 源码学习笔记
    c++ 指针(二)
    c++ 指针(一)
    visual studio 2012 的制作ActiveX、打包和发布
    用linqPad帮助你快速学习LINQ
    Caliburn.Micro学习笔记(五)----协同IResult
  • 原文地址:https://www.cnblogs.com/chenpengmeng/p/5323374.html
Copyright © 2011-2022 走看看