• 软件工程个人作业01


    问题描述:

    1.程序设计思想:

      首先,我用java语言来完成。1.我要用两个类来完成,一个类包含需要自动生的数据,判断及随机生成数的方法,和输出方法;2.在另一个类中循环30次调用上面的类及方法。3.自动生成的数据,进行运算的数在0-99之间,以及运用随机数代表+-*/;和题目中是否有分数;4,判断/运算的第二个数不为0和分母不为0.

    2.源程序代码:

    class Zidong{
        int x=(int)(Math.random()*100);  //产生第一个数或者第一个数的分子
        int x1;
        int y=(int)(Math.random()*100);  //产生第二个数或者第二个数的分子
        int y1;
        int z=(int)(Math.random()*4);   //随机产生加减乘除的四则运算(0+;1-;2*;3/)
        int m=(int)(Math.random()*3);   //随机第一个数是否为分数;0代表分数,1,2代表整数
        int n=(int)(Math.random()*3);   //随机第一个数是否为分数;0代表分数,1,2代表整数
        
        public void Panduan(){    //对随机数进行判断,并保证随机题目的正确性
            if(m==0)              //第一个数是分数
            {
                x1=(int)(Math.random()*100);      //若只为真分数,则进行分子分母比较大小、交换
                while(x1==0)       //保证分母不为0
                    {x1=(int)(Math.random()*100);}
            }
            if(n==0)               //第二个数是随机数
            {    
                y1=(int)(Math.random()*100);     //若只为真分数,则进行分子分母比较大小、交换
                while(y1==0)       //保证分母不为0
                    {y1=(int)(Math.random()*100);}
            }
            if(z==3)               //对于第二个数不是分数的除法运算,保证不为0
              {
                 while(y==0)
                    {y=(int)(Math.random()*100);}
              }
        }
        
        public void Show(){    //输出方式
            if(z==0)           //+法运算情况输出
                if(m==0&&n==0)
                   {System.out.println(x+"/"+x1+" + "+y+"/"+y1+"=");}
                else if(m==0&&n!=0)
                   {System.out.println(x+"/"+x1+" + "+y+"=");}
                else if(n==0&&m!=0)
                   {System.out.println(x+" + "+y+"/"+y1+"=");}
                else
                   {System.out.println(x+" + "+y+"=");}
            if(z==1)            //-法运算情况输出
                if(m==0&&n==0)
                   {System.out.println(x+"/"+x1+" - "+y+"/"+y1+"=");}
                else if(m==0&&n!=0)
                   {System.out.println(x+"/"+x1+" - "+y+"=");}
                else if(n==0&&m!=0)
                   {System.out.println(x+" - "+y+"/"+y1+"=");}
                else
                   {System.out.println(x+" - "+y+"=");}
            if(z==2)             //*法运算情况输出
                if(m==0&&n==0)
                   {System.out.println("("+x+"/"+x1+") * ("+y+"/"+y1+")=");}
                else if(m==0&&n!=0)
                   {System.out.println("("+x+"/"+x1+") * "+y+"=");}
                else if(n==0&&m!=0)
                   {System.out.println(x+" * ("+y+"/"+y1+")=");}
                else
                   {System.out.println(x+" * "+y+"=");}
            if(z==3)              // /法运算情况输出
                if(m==0&&n==0)
                   {System.out.println(x+"/"+x1+" / ("+y+"/"+y1+")=");}
                else if(m==0&&n!=0)
                   {System.out.println(x+"/"+x1+" / ("+y+")=");}
                else if(n==0&&m!=0)
                   {System.out.println(x+" / ("+y+"/"+y1+")=");}
                else
                   {System.out.println(x+" / ("+y+")=");}
        }
    }
    public class Suiji {
    
        public static void main(String[] args) {
            for(int i=0;i<30;i++)
            {
                Zidong a=new Zidong();
                a.Panduan();
                a.Show();
            }
    
        }
    
    }

    3.运行结果截图:

    4.分析未完成原因:

      对于java语言已经有点不熟悉,设计思路还没有完全清楚。其次对于随机数的运用不是很了解。时间有些短暂,因此代码没有写完。

  • 相关阅读:
    梦断代码阅读笔记之一
    市场调研
    站立会议第九天
    站立会议第八天
    站立会议第七天
    站立会议第六天
    站立会议第五天
    团队项目第一阶段冲刺站立会议6(4月23日)
    团队项目第一阶段冲刺站立会议5(4月22日)
    团队项目第一阶段冲刺站立会议4(4月21日)
  • 原文地址:https://www.cnblogs.com/fan-xiaofan/p/5255848.html
Copyright © 2020-2023  润新知