• Java实现小学生四则运算


    要求:

    1.两数相加不能超过100

    2.两数相减不能出现负数

    3.两数相乘不能大于100

    4.除法不能出现小数

    5.题目不能重复,可定制(数量/打印方式)

    思路:

    用random函数可以产生随机变量,将生成的两个随机数和四个算术符号分别存放在数组中,可以判断题目是否重复;

    代码:

    package sizeyunsuan;

    import java.util.Random;
    import java.util.Scanner;
    import java.util.StringJoiner;

    public class Student {


    public static void main(String[] args) {
    // TODO 自动生成的方法存根

    Scanner scanner = new Scanner(System.in);
    int n,m;
    System.out.println("请输入一个正整数:");
    n=scanner.nextInt();
    System.out.println("请输入一行几道题:");
    m=scanner.nextInt();

    /* 将生成的两个随机数和四个运算符存在数组中 **/
    int[] a=new int[10000];
    int[] b=new int[10000];
    int[] d=new int[10000];
    Random rand=new Random();
    //使用数组
    String z=null;
    for(int i=0;i<n;i++) {
    int x=(int)(1+Math.random()*99);
    int y=(int)(1+Math.random()*99);

    int c=(int)(1+Math.random()*4);
    a[i]=x;
    b[i]=y;
    d[i]=c;
    for(int j=0;j<i-1;)
    {
    if(a[j]==x&&b[j]==y&&d[j]==c)
    i--;
    break;
    }
    switch(c)
    {
    case 1:z="+";break;
    case 2:z="-";break;
    case 3:z="*";break;
    case 4:z="/";break;
    }
    if((x>=y&&z=="-")||(x*y<100&&z=="*")||(x/y>=1&&x%y==0&&z=="/")||(z=="+"))
    { if((i+1)%m==0)
    System.out.println((i+1)+":"+x+z+y+"=");
    else
    System.out.print((i+1)+": "+x+z+y+"="+" ");
    }else
    i--;

    }
    }

    }
    心得:

    我觉得这个题最难得一个地方就是怎样让出的题不重复,这个我也在网上查了很多资料,就是把产生的随机数放在数组里,这个还是比较好弄的,也有的人是用递归写的,这个也行;通过这个实验我学会了用随机函数,对数组认识更加深了。

  • 相关阅读:
    Java 8简明教程
    Redis事务机制和分布式锁
    【 Tomcat 】tomcat8.0 基本参数调优配置-----(2)
    【 Tomcat 】tomcat8.0 基本参数调优配置-----(1)
    Nginx的一理解(2)
    Nginx的一理解(1)
    jav设计模之的动态代理
    Java设计模式之《适配器模式》及应用场景
    Java设计模式之三种工厂模式
    pytorch高阶op
  • 原文地址:https://www.cnblogs.com/mxk123456/p/1213mmm.html
Copyright © 2020-2023  润新知