zoukankan      html  css  js  c++  java
  • 软件工程个人作业01

    软件工程个人作业01

    题目:

    像二柱子那样,花二十分钟写一个能自动生成三十道小学四则运算题目的 “软件”,要求:除了整数以外,还要支持真分数的四则运算。

    设计思想:

        随机产生4个0-3之间的int型整数,控制随机输出4个运算符;随机产生两个0-1之间的整数,控制随机输出分数与整数的运算式;随机产生四个0-1之间的随机浮点数,乘以100取整作为两种运算式的运算数据。利用for循环生成30个运算式,其中需要考虑的是:①、整数除法运算式的分母不能为零,利用for循环产生不为0的数。②、分数运算式中的分母不能为0,利用for循环产生不为0的数。③、当分数的两个随机数相等时,输出为“1”。输出结果即可。

    源程序代码:

    import java.util.Random;
    public class Calculate {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            
            for(int i=0;i<30;i++)
            {
                Random random =new Random();
                float a=random.nextFloat()*100;
                float b=random.nextFloat()*100;
                float c=random.nextFloat()*100;
                float d=random.nextFloat()*100;
                int m=random.nextInt(4);
                int n=random.nextInt(2);
                char f=' ';
                
                if(m==0) f='+';
                if(m==1) f='-';
                if(m==2) f='*';
                if(m==3) f='/';
                
                int a1=(int)a;int b1=(int)b;
                int c1=(int)c;int d1=(int)d;
                
                if(n==0)
                {
                    for(int j=0;;)
                    {
                        if(f=='/'&&b<=0.01){b=random.nextFloat()*100;b1=(int)b;}
                        else break;
                    }
                    System.out.println(a1+" "+f+" "+b1+"=");
                }
                if(n==1)
                {
                    for(int j=0;;)
                    {
                        if(b<1){b=random.nextFloat()*100;b1=(int)b;}
                        else break;
                    }
                    for(int j=0;;)
                    {
                        if(d<1){d=random.nextFloat()*100;d1=(int)d;}
                        else break;
                    }
                    for(int j=0;;)
                    {
                        if(c/d<1){c=random.nextFloat()*100;c1=(int)c;}
                        else break;
                    }
                    if(a1==b1)
                        System.out.println(a1/b1+" "+f+" "+c1+"/"+d1+"=");
                    else
                        System.out.println(a1+"/"+b1+" "+f+" "+c1+"/"+d1+"=");
                    if(c1==d1)
                        System.out.println(a1+"/"+b1+" "+f+" "+c1/d1+"=");
                    else
                        System.out.println(a1+"/"+b1+" "+f+" "+c1+"/"+d1+"=");
                }
            }
        }
    }

    运行结果截图:

     

    分析一下个人上课未按时完成的原因:

    这个学期第一次写代码,不知如何开始,想到的情况不够全面。

  • 相关阅读:
    关于DOM节点的逆序
    javascript 巧妙的数组去重
    Canvas 学习笔记1
    web前端开发规范
    关于使用new和不使用new
    先知JS分享第二讲 数据类型与操作符
    关于谷歌console的小技巧
    菜鸟读jQuery 2.0.3 源码分析系列(2)
    菜鸟读jQuery 2.0.3 源码分析系列(1)
    local npm module ("*****") not found
  • 原文地址:https://www.cnblogs.com/love528/p/5259003.html
Copyright © 2011-2022 走看看