• 四则运算1


    思路: (一)输入:确定符号和数字

             (二)结果:算式样本:    “数字”+“符号”+“数字”+“=”

             (三)过程:①利用随机数确定符号:0=>“+”,1=>“-”,2=>“*”,3=>“/” 。其中除法"/"有特殊情况,除数不能为0

            ②第一个数字和第二个数字,要分别判定是 分数或整数,其中分数的分母不能为0。

              ③在判定分数或整数的过程中,两次循环,分别对第一个数字和第二数字进行细致上的操作,最终改为字符串的形式。

              第一次循环(即第一个数字):

               若数字为分数,则随机两个数字,分别为分子(nup1)和分母(ndown1),然后以(分子/分母)的格式转入字符串s1。

                 若数字为整数,则随机一个数字(nup1),然后转入字符串s1。

                                 第二次循环(即第一个数字):

               若数字为分数,则随机两个数字,分别为分子(nup2)和分母(ndown2),然后以(分子/分母)的格式转入字符串s2。

                 若数字为整数,则随机一个数字(nup2),然后转入字符串s2。

    代码:

    public class Sizeyunsuan {
        public static void main(String[] args)
        {
            for(int i=0;i<30;i++)//循环30次,30道题
            {
                int mid,nup1,ndown1,nup2,ndown2;
                String s1=new String();
                String s2=new String();
                String suanshi=new String();
                
                String fuhao=new String();//符号判定
                mid=(int)(Math.random()*4);
                if(mid==0) fuhao="+";
                if(mid==1) fuhao="-";
                if(mid==2) fuhao="*";
                if(mid==3) fuhao="/";
                
                for(int j=0;j<2;j++)//两次循环,第一次为第一个数字,第二次为第二个数字
                {
                    int n1 =-1,n2=-1;//用于后面是否为分数的判定
                    int s=(int)(Math.random()*2);//随机数判定整数或分数,0->整数,1->分数
                    if(s==0)//整数
                    {
                        n1=(int)(Math.random()*100);
                    }
                    if(s==1)//分数
                    {
                        n1=(int)(Math.random()*100);//分子
                        n2=(int)(1+Math.random()*99);//分母不能为0
                    }
                    if(j==0)//第一个数字
                    {
                        nup1=n1;ndown1=n2;
                        if(ndown1>=0)//如果存在分母,则为分数
                        {s1="("+nup1+"/"+ndown1+")"+"";}
                        else//否则为整数
                        {s1=nup1+"";}
                    }
                    if(j==1)//第二个数字
                    {
                        nup2=n1;ndown2=n2;
                        if(mid==3)//当为除法时,除数不能为0,
                        {
                            nup2=(int)(1+Math.random()*99);//分子或整数不能为0
                        }
                        if(ndown2>=0)//如果存在分母,则为分数
                        {s2="("+nup2+"/"+ndown2+")"+"";}
                        else//否则为整数
                        {s2=nup2+"";}
                    }
                }
                suanshi=suanshi+s1+fuhao+s2+"=";//算式
                System.out.println(suanshi);
            }
        }
    }

     运行结果:

  • 相关阅读:
    《Java架构师的第一性原理》24Java基础之并发第5篇Java并发编程的艺术
    《Java架构师的第一性原理》71场景题之搜索引擎ElasticSearch
    70道HR常问面试题,找工作避坑必看
    《Java架构师的第一性原理》10计算机基础之计算机组成原理
    《Java架构师的第一性原理》00计算机的第一性原理
    photoshop--历史记录画笔工具-- 所画之处恢复原图像
    photoshop--去色--彩色图像变成灰度图像
    photoshop--历史记录
    qt5-循环遍历语句foreach
    qt5串口通信
  • 原文地址:https://www.cnblogs.com/maplely/p/5250769.html
Copyright © 2020-2023  润新知