zoukankan      html  css  js  c++  java
  • 四则运算2(改进版)

     设计思想:

      定义两个整型的变量a,b;作为进行运算的两个数,在定义一个double类型的e,作为运算结果;参与运算的两个数都有了,接下来就是我们的运算符了,因为要随机生成加减乘除四则运算符,我们不妨在定义一个整型变量c,c是从1到4产生的随机数,然后再用switch语句,选择随机产生的c ,case 1 2 3 4分别对字符型的变量d进行赋值,这个过程产生运算符;整个运算的流程结束了,接下来就是判断运算的了,因为我们要求最后的结果要在100以内,所以,这里要进行一个if语句的判断,如果结果e在100之内,就要输出算式,当然,我们的用户对象是学生,也要考虑结果是不是大于0。    (还有就是对程序的优化了,既然我们的用户对象是二年级的小学生,他们肯定不会计算分数,只能计算整数,在随机产生出发算式的时候,很有可能会产生分数的结果,那么,怎么才能解决这个问题呢?是不是要在进行一次判断?对除法算式进行判断。。。。。这里就卡住了) 

       //这里需要注释一下,上面写的是 上次的四则运算,这次继续对上次的进行改进。除法确实是有点难,继续上次的思路,怎们判断能不能整除,我们可以反过来思考问题,将除数和被除数都定义为整型的,得到一个结果e,再让e乘以除数,看看能不能得到被除数。这就利用了计算机对整型数据除法的规则,比如73/72会得到1;那么1*72不等于73;我们就继续循环。直到相等我们再跳出循环。下面我放一下验证除法的代码。

    package jisuanqi;
    // 检验能不能整除
    public class test {
    public static void main(String[] args) {
          int a1;
          int b1;
          int e1=0;
          int f1=0;
       do  {
              a1=(int)(Math.random()*99+1);
              b1=(int)(Math.random()*99+1);
             String d1=" ";
                  int c1=(int)(Math.random()*4+1);
                  switch(c1) 
                  {
                  case 1:{d1="+";
                  e1=a1+b1;break;}
                  case 2:{d1="-";
                  e1=a1-b1;break;}
                  case 3:{d1="*";
                  e1=a1*b1;break;}
                  case 4:{d1="/";
                  e1=a1/b1;break;}
             }
                if(e1<100&&0<e1&&(d1.equals("/"))&&(e1*b1==a1))  
                    //如何判断除法的最后结果是整数类型?
                    //佩服自己的聪明才智,用最后除法的结果在乘以第二个数,判断是否等于第一个数,这样
                    //就ok了
                {
                    System.out.println(a1);
              System.out.println(a1+d1+b1);
              System.out.println(e1);
              f1++;
                }
                else
                    f1=f1;
         }while(f1<1);
        }
    }

    验证截图 :

    总结: 

      上述代码只是验证除法的,f的值,确定了输入几个算式,这个就解决了前一篇随笔四则运算一中的问题。

  • 相关阅读:
    android高级UI之Paint Xfermode
    android高级UI之Paint滤镜
    常见文献管理软件
    linux下10款markdown软件
    markdown页面内跳转
    Ubuntu18.04配制阿里巴巴的源
    python中TAB补全
    word中手动添加endnote的加载项
    MarkDown添加图片的三种方式
    word前页与后页页码断开
  • 原文地址:https://www.cnblogs.com/yyh-678/p/7994440.html
Copyright © 2011-2022 走看看