简单小程序——产生三十道小学四则运算题目

时间:2018-10-07 13:51:33   收藏:0   阅读:420

题目要求程序可以生成三十道小学四则运算题目。

因为要随机生成题目,则需要产生随机数,因此我上网搜索了生成随机数的方法,选择了使用Random类得到规定范围内的随机数。因为一个运算需要三个元素,两个参与运算的数字,一个运算符(加减乘除),因此需要获得三个随机数,其中一个随机数的范围为1~4,对应加减乘除四个运算符。在程序中需要特别注意的是除法的运算题目生成,由于是小学题目,因此要生成可以整除的运算式。因此在除法的运算阶段,我进行了判断,若当前产生的两个随机数不能实现整除或者除数为零,便重新获得两个随机数并判断是否可以整除且输出是否为零,若不行,再次进行判断,直到可以整除且除数不为零,由此保证随机生成的题目是小学生可以接受的难度。

程序输出的最终结果包括题目部分和答案部分,并且题目和答案都有对应的序号,方便进行做完题目之后对答案。

程序代码:

package 四则运算;

 

import java.util.Random;

 

public class yunsuan {

public static void main(String[] args) {

// TODO Auto-generated method stub

int [] d;

d=new int [30];

int a,b;

int e;

System.out.println("以下是产生的三十道题目:");

for(int i=0;i<30;i++) {

Random r=new Random();  

    a=r.nextInt(100)+1;

    b=r.nextInt(100)+1;

    switch(r.nextInt(4)+1) {

    case 1:

     System.out.println((i+1)+":"+a+"+"+b+"=");

     d[i]=a+b;

     break;

    case 2:

     System.out.println((i+1)+":"+a+"-"+b+"=");

     d[i]=a-b;

     break;

    case 3:

     System.out.println((i+1)+":"+a+"*"+b+"=");

     d[i]=a*b;

     break;

    case 4:

            while((e=a%b)!=0||b==0) {

         a=r.nextInt(100)+1;

         b=r.nextInt(100)+1;

            }

     System.out.println((i+1)+":"+a+"/"+b+"=");

     d[i]=a/b;

     break;

    }

}

System.out.println("以下是上述三十道题目的答案:");

for(int j=0;j<30;j++) {

System.out.println((j+1)+":"+d[j]);

}

  }

}

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!