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+"=");
                }
            }
        }
    }

    运行结果截图:

     

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

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

  • 相关阅读:
    Java面试题(转)
    哪种方式更适合在React中获取数据?
    vue学习之深入响应式原理
    还不会用FindBugs?你的代码质量很可能令人堪忧
    几道大数据面试题(转)
    【Medium翻译】Java抽象类有什么用?
    深入理解Kafka必知必会(上)
    (八十六)c#Winform自定义控件-表格优化(转载)
    IDEA 配置及常用快捷键
    Markdown 复杂公式&常用符号
  • 原文地址:https://www.cnblogs.com/love528/p/5259003.html
Copyright © 2011-2022 走看看