zoukankan      html  css  js  c++  java
  • 四则运算2测试

    代码:

    import java.util.*;
    
    public class Aritmetic1 {
    
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            System.out.println("请输入要生成多少道四则运算题目?");
            int h = input.nextInt();
            String [] arr1 = new String[h];
            System.out.println("请输入随机数可产生的最大值:");
            int g = input.nextInt();
            System.out.println("请输入定制要求(每行题数):");
            int r = input.nextInt();
            System.out.println("请选择要求:");
            System.out.println("1加减法运算");
            System.out.println("2四则运算");
            Random random = new Random();
            char arr[] = {'+','-','*','/','('};
            
            int a=input.nextInt();
            switch(a){
               case 1:{
                  System.out.println("请选择数字类型:");
                  System.out.println("1整数");
                  System.out.println("2分数");
                  int m = input.nextInt();
                  switch(m)
                  {
                  case 1:
                  {
                      System.out.println("有无负数?");
                      System.out.println("1没有负数");
                      System.out.println("2有负数");
                      int f = input.nextInt(); 
                      int i;
                      switch(f)
                      {
                         case 1:
                         {
                             for(i=0;i<h;i++)
                             {
                                 if(i==r||i%r==0)
                                 {
                                     System.out.println();
                                 }
                                  String str = random.nextInt(g) + " " + arr[random.nextInt(2)] + " " + random.nextInt(g) + "="+"     ";
                                  System.out.print(str);
                                 
                             }
                             break;
                         }
                         
                         case 2:
                         {
                             for(i=0;i<h;i++)
                             {
                                 if(i==r||i%r==0)
                                 {
                                     System.out.println();
                                 }
                                 String str = (-random.nextInt()%g) + " " + arr[random.nextInt(2)] + " " + (-random.nextInt()%g) + "="+"     ";
                                 System.out.print(str);
                             }
                             break;
                         }
                         
                         default:
                         {
                             System.out.println("输入错误,请输入1或2");
                         }
                         break;
                      }//switch(f)
                      break;
                  }//case1内
                  
                  case 2:
                  {
                      System.out.println("有无负数?");
                      System.out.println("1没有负数");
                      System.out.println("2有负数");
                         int f=input.nextInt();
                         switch(f)
                         {
                         case 1:
                         {
                             for(int i=0;i<h;i++)
                             {
                                 if(i==r||i%r==0)
                                 {
                                     System.out.println();
                                 }
                                System.out.print(random.nextInt(g)+"/"+random.nextInt(g)+1+" "+arr[random.nextInt(2)]+" "+random.nextInt(g)+"/"+random.nextInt(g)+1+"="+"     ");
                             }
                             break;
                         }
                         case 2:
                         {
                             for(int i=0;i<h;i++)
                             {
                                 if(i==r||i%r==0)
                                 {
                                     System.out.println();
                                 }
                                System.out.print(-random.nextInt()%g+"/"+random.nextInt(g)+1+" "+arr[random.nextInt(2)]+" "+-random.nextInt()%g+"/"+random.nextInt(g)+1+"="+"     ");
                             }
                             break;
                         }
                         default:
                             System.out.println("输入错误,请输入1或2");
                             break;
                         }
                        break;
                  }//case2内
                  }//switch(m)
                break;
               }//case1外
               
               case 2:
               {
                  System.out.println("请选择数字类型:");
                  System.out.println("1整数");
                  System.out.println("2分数");
                  int m = input.nextInt();
                  switch(m)
                  {
                  case 1:
                  {
                      System.out.println("请选择要求:");
                      System.out.println("1正整数无余数四则运算");
                      System.out.println("2可负整数无余数四则运算");
                      System.out.println("3正整数可有余数四则运算");
                      System.out.println("4可负整数可有余数四则运算");
                      System.out.println("5多数带括号运算");
                      int f =input.nextInt();
                      switch(f)
                      {
                      case 1:
                      {
                             for(int i=0;i<h;i++)
                             {
                                 
                                 int u=random.nextInt(g);
                                 int v=random.nextInt(g)+1;
                                 char w=arr[random.nextInt(4)];
                                 if(i==r||i%r==0)
                               {
                                   System.out.println();
                               }
                                 if(u%v==0 && w=='/')
                                 {
                                     System.out.print(u+" "+w+" "+v+"="+"     ");
                                 }
                                 else
                                 {
                                     System.out.print(u+" "+arr[random.nextInt(3)]+" "+v+"="+"     ");
                                 }
                             }
                             break;
                      }
                      
                      case 2:
                         {
                             for(int i=0;i<h;i++)
                             {
                                 int u=-random.nextInt()%g;
                                 int v=-random.nextInt()%g;
                                 char w=arr[random.nextInt(4)];
                                 if(i==r||i%r==0)
                                 {
                                     System.out.println();
                                 }
                                 if(v!=0 && u%v==0 && w=='/' )
                                     System.out.print(u+" "+w+" "+v+"="+"     ");
                                else
                                    System.out.print(u+" "+arr[random.nextInt(3)]+" "+v+"="+"     ");
                             }
                             break;
                         }
                      case 3:
                         {
                             for(int i=0;i<h;i++)
                             {
                                 int u=random.nextInt(g);
                                 int v=random.nextInt(g)+1;
                                 char w=arr[random.nextInt(4)];
                                 if(i==r||i%r==0)
                                 {
                                     System.out.println();
                                 }
                                 System.out.print(u+" "+w+" "+v+"="+"     ");
                             }
                             break;
                         }
                      case 4:
                         {
                             for(int i=0;i<h;i++)
                             {
                             int u=-random.nextInt()%g;
                             int v=-random.nextInt()%g;
                             char w=arr[random.nextInt(4)];
                             if(i==r||i%r==0)
                             {
                                 System.out.println();
                             }
                             System.out.print(u+" "+w+" "+v+"="+"     ");
                             }
                             break;
                         }
                      case 5:
                      {
                          for(int i=0;i<h;i++)
                          {
                              int n =random.nextInt(9)+2;
                              Stack<Integer> S1 = new Stack<Integer>();
                              Stack<Character> S2 = new Stack<Character>();
                              for(int j=0;j<n+1;j++)
                              {
                                  char w=' ';
                                  int e = random.nextInt()%g;
                                  if(w=='/'&&e==0)
                                  {
                                      e=random.nextInt(g)+1;
                                  }
                                  w=arr[random.nextInt(5)];
                                  S1.push(e);
                                  S2.push(w);
                              }
                              
                              int k=0;
                              for(int j=0;j<n;j++)
                              {
                                  char q =S2.pop();
                                  if(q=='(')
                                  {
                                      if(j>n-2)
                                      {
                                          System.out.print(S1.pop()+" "+arr[random.nextInt(4)]);
                                      }
                                      else
                                      {
                                          System.out.print(S1.pop()+" "+arr[random.nextInt(4)]+" "+q);
                                          k++;
                                      }
                                  }
                                  else
                                  {
                                      System.out.print(S1.pop()+" "+q);
                                  }
                              }
                              if(k==0)
                              {
                                  System.out.println(random.nextInt()%g+"=");
                              }
                              else if(k==1)
                              {
                                  System.out.println(random.nextInt()%g+")=");
                              }
                              else if(k==2)
                              {
                                  System.out.println(random.nextInt()%g+"))=");
                              }
                              else if(k==3)
                              {
                                  System.out.println(random.nextInt()%g+")))=");
                              }
                              else
                              {
                                  System.out.println(random.nextInt()%g+"))))=");
                              }
                          }
                          break;
                      }
                         default:
                         {
                             System.out.println("输入错误,请输入1-5");
                         }
                         break;
                      }//switch(f)
                      break;
                  }//case1内
                  
                  case 2:
                  {
                        System.out.println("请选择要求:");
                        System.out.println("1正分数四则运算!");
                        System.out.println("2可负分数四则运算!");
                        int f=input.nextInt();
                         switch(f)
                         {
                         case 1:
                         {
                             for(int i=0;i<h;i++)
                             {
                                 int u=random.nextInt(g);
                                 int v=random.nextInt(g)+1;
                                 int x=random.nextInt(g);
                                 int y=random.nextInt(g)+1;
                                 char w=arr[random.nextInt(4)];
                                 if(i==r||i%r==0)
                                 {
                                     System.out.println();
                                 }
                                System.out.print(u+"/"+v+" "+w+" "+x+"/"+y+"="+"     ");
                             }
                             break;
                         }
                         case 2:
                         {
                             for(int i=0;i<h;i++)
                             {
                                 int u=-random.nextInt()%g;
                                 int v=random.nextInt(g)+1;
                                 int x=-random.nextInt()%g;
                                 int y=random.nextInt(g)+1;
                                 char w=arr[random.nextInt(4)];
                                 if(i==r||i%r==0)
                                 {
                                     System.out.println();
                                 }
                                 if(x!=0 && w=='/' )
                                     System.out.print(u+"/"+v+" "+w+" "+x+"/"+y+"="+"     ");
                                else 
                                    System.out.print(u+"/"+v+" "+arr[random.nextInt(3)]+" "+x+"/"+y+"="+"     ");
                             }
                             break;
                         }
                         default:
                             System.out.print("输入的数有误,请输入1或2");
                         }
                         break;
                    }//case2内
                  }
                  }//switch(m)
               }//case2外
            }//switch(a)
    
        }//起始

    测试:

    ①正常输出

    ②扩大范围

    ③是否有负分数

    ④十数以内

    ⑤分母为零

    ⑥可订制

  • 相关阅读:
    SpringCloud学习总结(九)——微服务架构高并发问题
    SpringCloud学习总结(八)——服务调用Feign
    SpringCloud学习总结(七)——服务注册中心Consul
    SpringCloud学习总结(六)——服务调用和负载均衡Ribbon
    Hadoop综合大作业
    分布式文件系统HDFS练习
    安装Hadoop
    爬虫综合大作业(震惊!爬取了590位微信好友后竟然发现了)
    爬取全部的校园新闻
    理解爬虫原理
  • 原文地址:https://www.cnblogs.com/lk0823/p/5322033.html
Copyright © 2011-2022 走看看