zoukankan      html  css  js  c++  java
  • 四则运算加强版

    题目要求:

    1、题目避免重复;

    2、可定制(数量/打印方式);

    3、可以控制下列参数是否有乘除法、是否有括号、 数值范围、加减有无负数、除法有无余数、否支持分数 (真分数假分数)、是否支持小数 (精确到多少位)、打印中每行的间隔可调整;

    思路:

       在原有程序中用数组实现避免重复;

       用if、for语句实现客定制;

       用控制面板实现客定制;

    源代码:

    import java.util.Random;
    import java.util.Scanner;
    public class Yunsuan
    {
     public static void main(String[] args)
      {
       // TODO Auto-generated method stub
      Scanner input =new  Scanner(System.in);
            System.out.print("请输入题目数量:");
            int num=input.nextInt();
            System.out.print("请输入数值范围(最小、最大)");
            int sc1=input.nextInt();
            int sc2=input.nextInt();
            System.out.print("是否有乘除法(若有选择1、若无选择0):");
            int c1=input.nextInt();
            if(num<0)
             System.out.print("输入有误,请重新输入!");
            else
            {  
               Random a=new Random();
               Random b=new Random();
               Random c=new Random(4);
               int[] array1= new int[num];
               int[] array2=new  int[num];
               int[] array3=new int [num];
               for(int i=0;i<num;i++)
               {
                array1[i]=a.nextInt(sc2-sc1+1)+sc1;
                array2[i]=b.nextInt(sc2-sc1+1)+sc1;
                if(i>=1)  //排除重复数
                {                               
                 if(array1[i]==array1[i-1] && array2[i]==array2[i-1]&&array3[i] ==array3[i-1])
                 {
                i--;
                   break;
                 }
                 }
                if(c1==1)
                 for(int j=0;j<num;j++)
                    {array3[j]=c.nextInt(4); }
                else
                for(int m=0;m<num;m++)
                    {array3[m]=c.nextInt(2);}
                
              switch(array3[i])
                  {case 0:
                   System.out.println(array1[i]+"+"+array2[i]+"=");
                   break;
                  case  1:
                   System.out.println(array1[i]+"-"+array2[i]+"=");
                   break;
                  case 2:
                   System.out.println(array1[i]+"x"+array2[i]+"=");
                   break;
                  case 3:
                   if(array2[i]!=0)
                      System.out.println(array1[i]+"/"+array2[i]+"=");
                   else
                    i--;
                   break;
                  }
             
               } 
          
            }
      }
    }

    结果截图:

    时间日志:

        日期

    开始时间

    结束时间

    时间

      3/17 19:00 21:00 120
    3/18 14:00 16:00 120
    319 16;00 18:00 120
           
           
           
  • 相关阅读:
    python实现七段数码管显示
    词频统计实例
    分形几何中科赫雪花的绘制
    脚本实现自动化绘制
    Android查看数据库方法及工具(转)
    2011年度总结
    Bad NPObject as private data 解决方案
    LINQ学习之旅——LINQ TO SQL继承支持(转载)
    我记录开源系统1.6源码解析(一)
    2011年度总结
  • 原文地址:https://www.cnblogs.com/mingning/p/4351240.html
Copyright © 2011-2022 走看看