• 四则运算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.上课未按时完成的原因:

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

  • 相关阅读:
    MySQL、Redis 和 MongoDB 的优缺点
    解决数据库高并发
    数据库事务
    Mysql 数据库存储的原理?
    CSRF
    MVC模型和MVT模型
    AJAX
    正则表达式-re模块
    ddt-数据驱动测试
    python-时间格式化
  • 原文地址:https://www.cnblogs.com/iCheny/p/7945162.html
Copyright © 2020-2023  润新知