博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
四则运算加强版
阅读量:5371 次
发布时间:2019-06-15

本文共 1560 字,大约阅读时间需要 5 分钟。

题目要求:

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
       
       
       

 

转载于:https://www.cnblogs.com/mingning/p/4351240.html

你可能感兴趣的文章
树莓派的configure配置文件
查看>>
[转]RPA流程自动化-Blueprism认证考试介绍
查看>>
网络教育 全国统一考试 2012年考试工作计划
查看>>
[转]浅谈Android重力感应
查看>>
数据库设计不推荐使用Bool类型
查看>>
POJ 3281 Dining 【最大流】【神建模】
查看>>
c/c++程序员常见面试题分析(转)
查看>>
EF—主键冲突解决办法
查看>>
查看当前运行的SQL语句
查看>>
js一些常用方法总结
查看>>
PHP二次开发常用的工具|只能在服务器上调试用什么工具开发
查看>>
Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限
查看>>
宇宙中最强大的开发环境免费了!
查看>>
C#中运行bat
查看>>
lang3 StringUtils
查看>>
Sniffer
查看>>
nodejs 实现继承
查看>>
特征值提取之 -- TF-IDF值的简单介绍
查看>>
MySQL安装中无法通过命令删除原有权限的解决办法
查看>>
【思维一转天地宽】根据银行卡号如何判断是对公户还是个人户?
查看>>