zoukankan      html  css  js  c++  java
  • java总结

    2020年10月4日:

    今天下午上了四节java课,最后被要求要完成一个简单的四则运算项目,其特点与上次的四则运算类似,但不同的是这次的四则运算与上次相比多了几个条件,那就是用不同的方法对其进行补充,把整个程序进行合理的分类,然后在运行,下面是我的粗略代码:

    package shuxue;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Random;
    import java.util.Scanner;
    public class shuxue
    {
     public static int i;
     public static int n;
     public static int j;
     public static int k;
     public static int t;
     public static int g;
     public static char o;
     public static char y;
     public static int str;
     public static int daan1[];
     public static String shu[];
     public static int d;
     public static int dui;
     static Random a=new Random();
     public static List list;
     public static String shuzu[];
     public static int daanshuzu[];
     public static void main(String[] args)
     {
      Scanner scan=new Scanner(System.in);
      System.out.println("请输入题的数量:");
      System.out.println("请输入数值范围:");
      System.out.println("请输入操作数个数:");
         t=scan.nextInt();
      n=scan.nextInt();
      j=scan.nextInt();
      daanshuzu=new int [t];
      shu=new String[t];
         daan1=new int[t];
      if(j>2)
      {
      System.out.println("请选择是否需要乘除法(Y or N):");
      System.out.println("请选择是否需要括号(Y or N):"); 
         o=scan.next().charAt(0);
         y=scan.next().charAt(0);
      }
         chutigeshu(t);
      for(int p=1;p<=t;p++)
      {
          list=new ArrayList();
       System.out.print("第"+p+"题:  ");
          caozuoshugeshu(j);
          if(j>2)
          {
        shuzu[p-1]="";
        for(int u=0;u<list.size();u++)
        {
          shuzu[p-1]=shuzu[p-1]+list.get(u);
        }
        shuzu[p-1]+="=";
       chachong(shuzu[p-1],p);
       System.out.println(shuzu[p-1]);
          }
          else
          {
            System.out.print(shu[p-1]+"=");
          }
       int daan=scan.nextInt();
       daan(daan);
            }
      panduan(daanshuzu,daan1,shu);
     }
     public static void panduan(int a[],int b[],String c[])
     {
      for(int i=0;i<t;i++)
      {
       if(a[i]==b[i])
       {
        dui++;
       }
       else
       {
        System.out.println(c[i]);
       }
      }
      System.out.println("正确率为:"+(double)dui/(double)t);
     }
     public static void daan(int daan)
     {  
      daanshuzu[g++]=daan;   
     }
     public static void chachong(String str,int p)
     {
      boolean is=false;
      while(is)
      {
      for(int s=0;s<p-1;s++)
      {
       if(str.equals(shuzu[s]))
       {
        caozuoshugeshu(j);
       }
       else
        k++;
      }
      if(k==p-1)
      {
       is=true;
      }
      }
     }
     public static void caozuoshugeshu(int j)
     {
      if(j>2)
      {
      for(int i=0;i<2*j-1;i++)
      {
       if((i+1)%2!=0)
       {
        list.add(caozuoshufanwei(n));
       }
       else
       {
        int c=a.nextInt(4)+1;
        if(o=='N')
        {
         if(c==3||c==4)
         {
          c=a.nextInt(2)+1;
         }
        }
        switch(c)
        {
        case 1:list.add('+');break;
        case 2:list.add('-');break;
        case 3:list.add('*');break;
        case 4:list.add('/');break;
        }
       }
      }
      if(y=='Y')
      {
       int v=a.nextInt(2*j-3);
       int g=a.nextInt(2*j+1);
       if((v%2==0&&g%2==0)&&(g-v>=4))
       {
        list.add(v,'(');
        list.add(g,')');
       }
      }
      }
      else
      {
       caozuoliang();
      }
     }
     public static void caozuoliang()
     {
      int b=a.nextInt(n)+1;
      int c=a.nextInt(n)+1;
         switch(a.nextInt(4)+1)
         {
         case 1:
          daan1[d++]=b+c;
          shu[str++]=b+"+"+c;
          break;
         case 2:
          daan1[d++]=b-c;
          shu[str++]=b+"-"+c;
          break;
         case 3:
          daan1[d++]=b*c;
          shu[str++]=b+"*"+c;
          break;
         case 4:
          daan1[d++]=b/c;
          shu[str++]=b+"/"+c;
          break;
         }
     }
     public static void chutigeshu(int t)
     {
       shuzu=new String[t];
     }
     public static int caozuoshufanwei(int n)
     {
      return a.nextInt(n)+1;
     }
    }
     这次的代码是我在上次的代码基础上进行改进的,以不同的方法对程序的命令进行分类,使其整个程序看起来更加的井然有序,当然,我的代码还有很多的不足,在下周周二前争取把代码完善,把剩下的功能给尽量的昨晚,当然,前提是我能的话。
  • 相关阅读:
    身份证号校验和社会信用代码校验
    oracle导入sql文件
    Tomcat报java.lang.OutOfMemoryError: PermGen space有效解决方法
    oracle如何导出含有CLOB格式字段的长字符串数据
    oracle定时任务
    table表格合并列中相同的内容栏
    Oracle解析复杂json的方法
    Your project does not reference .NETFramework,Version=v4.6.1 framework
    在windows下安装git中文版客户端并连接gitlab
    VS2017 中更改项目名称
  • 原文地址:https://www.cnblogs.com/yitiaokuailedexiaojingyu/p/13768466.html
Copyright © 2011-2022 走看看