• 随机运算3


    一、时间记录日志:

    日期 开始时间 结束时间 中断时间 净时间 活动 备注
    3.20 8:00 9:50 10 100 上课 课间
    3.23 16:00 18:20 10 110 编程。阅读  
    3.24 20:00 21:00   60 编程  
    3.26 12:50 18:00 20 290 编程  

    二、缺陷记录日志:

    日期 编号 引入阶段 排除阶段 修复时间 修复缺陷
    3.15 1 编码 编译 3min  
    描述:For循环里[]里的变量打错
      2 编码 编码 20min  
    描述:While和If语句运用错误

    一、基本思路:要出三十道题目,就要用一个循环结构实现循环输出,用随机数的方法随机前一个数和后一个整数,在随机出一个整数,用4取余,来确定其运算符号,用4个IF语句来输出。在分数运算中类似,只是要注意判断分母的问题,分母为0重新随机。要控制除法不能不整除。在四则运算的过程中,申请两个数组,一个存放数字,一个存放运算符。在计算的过程中,可以用循环遍历,一个数组的数据类型了INT,一个数组的数据类型了char。遇见*/法,运算*/,把符号变成+,赋值后面的一个数为0,遇见-,化为加-a[i],最后累加起来。

    二、源代码:

    import java.util.Scanner;
    public class Main {
    
        public static void main(String[] args) {
            // TODO 自动生成的方法存根
            System.out.println("请选择要执行的功能         1、简单运算  2、四则运算");
            Scanner in=new Scanner(System.in);
            int select;
            select=in.nextInt();
            
             if(select==1)
             {
                 First();
             }
                
             if(select==2)
             {
                 Secend();
             }
        }
        public static void First()
        {    int d1=0,d2=0;
            Scanner in=new Scanner(System.in);
            for(int i=0;i<30;i++)
                     {
                        int i1=(int)(Math.random()*20);
                        int i2=(int)(Math.random()*20);
                        int i3=(int)(Math.random()*10);
                        int fuhao=i3%4,jieguo=0,daan=0;
                       
                        if(fuhao==0)
                        {
                            jieguo=i1+i2;
                            System.out.println(i1+"+"+i2+"=");
                        }
                        if(fuhao==1)
                        {
                            jieguo=i1-i2;
                            System.out.println(i1+"-"+i2+"=");    
                        }
                        if(fuhao==2)
                        {
                            jieguo=i1*i2;
                            System.out.println(i1+"*"+i2+"=");
                        }
                        
                        if(fuhao==3)
                        {  
                            while(i1<i2)
                            {
                              i1=(int)(Math.random()*25);
                            }
                            while(i2==0)
                            {
                              i2++;
                            }
                            while(i1%i2!=0)
                           {
                            i1++;   
                           }
                            jieguo=i1/i2;
                            System.out.println(i1+"/"+i2+"=");
                                
                        }
                            daan=in.nextInt();
                            if(jieguo==daan)
                                {
                                    System.out.println("结果正确");
                                    d1++;
                                    }
                            else
                                {
                                    System.out.println("结果错误  正确答案为 "+jieguo);
                                    d2++;
                                    }    
                  }
            System.out.println("答题结束 其中正确的题数为"+d1+"              错误的题数为"+d2);
        }
        
        public static void Secend()
        {  
            int jieguo=0,daan,d1=0,d2=0;
            Scanner in=new Scanner(System.in);
            for(int k=0;k<30;k++)
            {
            int n=(int)(Math.random()*8)+3;
    
            int num[]=new int[n];
            for(int i=0;i<n;i++)
            {
                num[i]=(int)(Math.random()*10)+1;
            }
            char fuhao[]=new char[n-1];
            for(int i = 0;i<n-1;i++)
            {
                int suijishu=(int)(Math.random()*4);
                 if(suijishu==0)
                  fuhao[i]='+';
                 else if(suijishu==1)
                  fuhao[i]='-';
                 else if(suijishu==2)
                  fuhao[i]='*';
                 else
                  fuhao[i]='/';                    
            }
        
            for(int p=0;p<n-1;p++)
             {
                System.out.print(num[p]);
                System.out.print(fuhao[p]);
             }
            System.out.print(num[n-1]+"="+"
    ");
            
            
            for(int i=0;i<n-1;i++)
            {
                if(fuhao[i]=='*')
                {
                    num[i+1]=num[i]*num[i+1];
                    fuhao[i]='+';
                    num[i]=0;
                }
                if(fuhao[i]=='/')
                {
                    num[i+1]=num[i]/num[i+1];
                    fuhao[i]='+';
                    num[i]=0;
                }
                if(fuhao[i]=='-')
                {
                      fuhao[i]='+';
                      num[i+1]=-num[i+1];      
                }
            }
            for(int i=0;i<n-1;i++)
            {
                jieguo=jieguo+num[i];
            }
            
            daan=in.nextInt();
            if(jieguo==daan)
            {
                System.out.println("结果正确");
                d1++;
                }
        else
            {
                System.out.println("结果错误  正确答案为 "+jieguo);
                d2++;
                }    
                }//zongxunhuang 30
            System.out.println("答题结束 其中正确的题数为"+d1+"              错误的题数为"+d2);
        }
    }

    三、运行截图:

  • 相关阅读:
    Asp.net 弹出对话框基类 (输出alet警告框)
    Request.ServerVariables获取环境变量
    Asp.net 字符串操作基类(安全,替换,分解等)
    asp.net 取得远程的IP地址和浏览器类型
    存储过程得到三个值
    弹出无边框网页的Javscrpt代码
    .net打包自动安装数据库!
    精妙Sql语句
    关于跨语言站点搜索结果非预期的问题
    SharePoint服务器场环境安装升级补丁的详细步骤
  • 原文地址:https://www.cnblogs.com/3066405538a/p/5323356.html
Copyright © 2020-2023  润新知