四则运算1

1.程序设计思想:

  用Math.random()方法生成0~1之间随机数,乘以所需的范围再取整即可,考虑到避免题目重复,我用所需范围折半相加取随机运算数结果,大大降低了重复概率,用整型变量quentity来接收用户想要出题的数量,因为加减乘除运算都要有,所以每一次出题用两个随机的运算数相加除4取余数,根据余数为0、1、2、3,确定用加、减、乘、除,然后用for循环完成每一次出题,还需要考虑当除法时候分母为0的时候,我设计的是当除数为0是i--,即重新取一次两个运算数再次判断再次运算,执行除运算的语句要把运算数进行强制类型转换,转换成double类型,用double类型的数接收除完之后的结果,然后用String.format("%.2f",d)方法来保留真分数和假分数的运算结果位数为2位。

2.源程序代码:

package practice;

import java.util.Scanner;

public class ChuTi 
{
    public static void main(String[] args) 
    {
        int a;
        int b;
        int c;
        int quentity;
        System.out.println("请输入您想出题的数量:");
        Scanner input=new Scanner(System.in);
        quentity=input.nextInt();
        for(int i=1;i<=quentity;i++)
        {
            a=(int)(Math.random()*50+Math.random()*50);
            b=(int)(Math.random()*50+Math.random()*50);
            c=(a+b)%4;
            double d;
            switch(c)
            {
            case 0:
            {
                System.out.println(a+"+"+b+"="+(a+b));break;
            }
            case 1:
            {
                System.out.println(a+"-"+b+"="+(a-b));break;
            }
            case 2:
            {
                System.out.println(a+"*"+b+"="+(a*b));break;
            }
            case 3:
            {
                if(b==0)
                {
                    i--;
                }
                else if(a<b)
                {
                    d=(double)a/b;
                    System.out.println(a+"/"+b+"="+String.format("%.2f",d));
                }
                else
                {
                    System.out.println(a+"/"+b+"="+a/b);
                }
                break;
            }
            }
        }
    }
}

3.运行结果截图:

4.上课未按时完成的原因:

  让加减乘除随机生成,没有想到用取余根据余数判断随机生成和执行哪个运算。

原文地址:https://www.cnblogs.com/iCheny/p/7945162.html