软件工程概论作业02

   设计思路:在原程序的基础上,定义一个整型变量,输入,如果该变量为1,则无乘除法,如果该变量为0,则有乘除法,如果无乘除运算,再定义一个变量,进行除法有无余数的限制,再定义一个变量,进行加减有无余数的限制。确定数值范围的时候,定义一个变量,来表示随机数可能取到的最大值,在随机数函数之前输入该变量,确定数值范围,将各种分类情况下的计算用函数包装,用for循环判断有重复则所有数重新赋值。

  程序代码:

主函数:

package demo;

import java.util.Random;
import java.util.Scanner;

public class Arithmetic {
    
    Scanner f=new Scanner(System.in);

    public int setRange()//设置数值范围
    {

        System.out.println("请输入要进行计算的数值的范围:");
        
         int N=f.nextInt();
        
        return N;
    }
    
    public int judge_Min()//判断加减法是否有负数
    {
        System.out.println("0:加减法有负数,1:加减法无负数,请选择:");
        
        int g=f.nextInt();
        
        return g;
    }
    
    public int judge_Mul_Div()//判断是否有乘除法
    {
        System.out.println("0:有乘除法,1:没有乘除法,请选择:");
        
        int e=f.nextInt();
        
        return e;
    }
    
    
    public void Add(int x,int y,int i)//无假分数加法
    {
        
        System.out.println(i+1+": "+x+"+"+y+"=");
    }
    public void Add_Imp(int x,int y,int a,int b,int i)//有假分数加法
    {
        while(a==0||b==0)
        {
            a=new Random().nextInt(5);
             
            b=new Random().nextInt(5);
        }
        System.out.println(i+1+": "+"("+x*a+"/"+x+")"+"+"+"("+y*b+"/"+y+")"+"=");
    }
    public void Sub_Minno(int x,int y,int i)//无负数无假分数减法
    {
        if(x>y)
                
            System.out.println(i+1+": "+x+"-"+y+"=");

        else System.out.println(i+1+": "+y+"-"+x+"=");
    }
    public void Sub_Minno_Imp(int x,int y,int a,int b,int i)//无负数有假分数减法
    {
        while(a==0||b==0)
             
        {
            a=new Random().nextInt(5);

            b=new Random().nextInt(5);
        }

        if(x>y)

            System.out.println(i+1+": "+"("+x*a+"/"+x+")"+"-"+"("+y*b+"/"+y+")"+"=");

        else System.out.println(i+1+": "+"("+y*b+"/"+y+")"+"-"+"("+x*a+"/"+x+")"+"=");
    }
    public void Sub_Min(int x,int y,int i)//有负数无假分数减法
    {
        System.out.println(i+1+": "+x+"-"+y+"=");
    }
    public void Sub_Min_Imp(int x,int y,int a,int b,int i)//有负数有假分数减法
    {
        while(a==0||b==0)
             
        {
            a=new Random().nextInt(5);

            b=new Random().nextInt(5);
        }

            System.out.println(i+1+": "+"("+x*a+"/"+x+")"+"-"+"("+y*b+"/"+y+")"+"=");

    }
    public void Mul(int x,int y,int i)//无假分数乘法
    {
        System.out.println(i+1+": "+x+"*"+y+"=");
    }
    public void Mul_Imp(int x,int y,int a,int b,int i)//有假分数乘法
    {
        while(a==0||b==0)
             
            {
                a=new Random().nextInt(5);
    
                b=new Random().nextInt(5);
            }

            System.out.println(i+1+": "+"("+x*a+"/"+x+")"+"*"+"("+y*b+"/"+y+")"+"=");
    }
    public void Div(int x,int y,int i)//无假分数无余数除法
    {
        while(y==0||x%y!=0)
        {
            x=new Random().nextInt(100);
            
            y=new Random().nextInt(100);
        }
    
            System.out.println(i+1+": "+x+"/"+y+"=");
    }
    public void Div_Imp(int x,int y,int a,int b,int i)//有假分数无余数除法
    {
        while(y==0||a==0||b==0||x%y!=0)
        {
            y=new Random().nextInt(100);
            
            a=new Random().nextInt(10);

            b=new Random().nextInt(10);
        }
        
        System.out.println(i+1+": "+"("+x*a+"/"+x+")"+"/"+"("+y*b+"/"+y+")"+"=");
    }
    public void Div_Rem(int x,int y,int i)//无假分数有余数除法
    {
        while(y==0)
        {
            
            y=new Random().nextInt(100);
        }
        System.out.println(i+1+": "+x+"/"+y+"=");
    }
    public void Div_Imp_Rem(int x,int y,int a,int b,int i)//有假分数有余数除法
    {
        while(y==0||a==0||b==0)
        {
            y=new Random().nextInt(100);
            
            a=new Random().nextInt(10);

            b=new Random().nextInt(10);
        }
        System.out.println(i+1+": "+"("+x*a+"/"+x+")"+"/"+"("+y*b+"/"+y+")"+"=");
    }
}

类和函数:

package demo;

import java.util.Random;
import java.util.Scanner;

public class Arithmetic {
    
    Scanner f=new Scanner(System.in);

    public int setRange()//设置数值范围
    {

        System.out.println("请输入要进行计算的数值的范围:");
        
         int N=f.nextInt();
        
        return N;
    }
    
    public int judge_Min()//判断加减法是否有负数
    {
        System.out.println("0:加减法有负数,1:加减法无负数,请选择:");
        
        int g=f.nextInt();
        
        return g;
    }
    
    public int judge_Mul_Div()//判断是否有乘除法
    {
        System.out.println("0:有乘除法,1:没有乘除法,请选择:");
        
        int e=f.nextInt();
        
        return e;
    }
    
    
    public void Add(int x,int y,int i)//无假分数加法
    {
        
        System.out.println(i+1+": "+x+"+"+y+"=");
    }
    public void Add_Imp(int x,int y,int a,int b,int i)//有假分数加法
    {
        while(a==0||b==0)
        {
            a=new Random().nextInt(5);
             
            b=new Random().nextInt(5);
        }
        System.out.println(i+1+": "+"("+x*a+"/"+x+")"+"+"+"("+y*b+"/"+y+")"+"=");
    }
    public void Sub_Minno(int x,int y,int i)//无负数无假分数减法
    {
        if(x>y)
                
            System.out.println(i+1+": "+x+"-"+y+"=");

        else System.out.println(i+1+": "+y+"-"+x+"=");
    }
    public void Sub_Minno_Imp(int x,int y,int a,int b,int i)//无负数有假分数减法
    {
        while(a==0||b==0)
             
        {
            a=new Random().nextInt(5);

            b=new Random().nextInt(5);
        }

        if(x>y)

            System.out.println(i+1+": "+"("+x*a+"/"+x+")"+"-"+"("+y*b+"/"+y+")"+"=");

        else System.out.println(i+1+": "+"("+y*b+"/"+y+")"+"-"+"("+x*a+"/"+x+")"+"=");
    }
    public void Sub_Min(int x,int y,int i)//有负数无假分数减法
    {
        System.out.println(i+1+": "+x+"-"+y+"=");
    }
    public void Sub_Min_Imp(int x,int y,int a,int b,int i)//有负数有假分数减法
    {
        while(a==0||b==0)
             
        {
            a=new Random().nextInt(5);

            b=new Random().nextInt(5);
        }

            System.out.println(i+1+": "+"("+x*a+"/"+x+")"+"-"+"("+y*b+"/"+y+")"+"=");

    }
    public void Mul(int x,int y,int i)//无假分数乘法
    {
        System.out.println(i+1+": "+x+"*"+y+"=");
    }
    public void Mul_Imp(int x,int y,int a,int b,int i)//有假分数乘法
    {
        while(a==0||b==0)
             
            {
                a=new Random().nextInt(5);
    
                b=new Random().nextInt(5);
            }

            System.out.println(i+1+": "+"("+x*a+"/"+x+")"+"*"+"("+y*b+"/"+y+")"+"=");
    }
    public void Div(int x,int y,int i)//无假分数无余数除法
    {
        while(y==0||x%y!=0)
        {
            x=new Random().nextInt(100);
            
            y=new Random().nextInt(100);
        }
    
            System.out.println(i+1+": "+x+"/"+y+"=");
    }
    public void Div_Imp(int x,int y,int a,int b,int i)//有假分数无余数除法
    {
        while(y==0||a==0||b==0||x%y!=0)
        {
            y=new Random().nextInt(100);
            
            a=new Random().nextInt(10);

            b=new Random().nextInt(10);
        }
        
        System.out.println(i+1+": "+"("+x*a+"/"+x+")"+"/"+"("+y*b+"/"+y+")"+"=");
    }
    public void Div_Rem(int x,int y,int i)//无假分数有余数除法
    {
        while(y==0)
        {
            
            y=new Random().nextInt(100);
        }
        System.out.println(i+1+": "+x+"/"+y+"=");
    }
    public void Div_Imp_Rem(int x,int y,int a,int b,int i)//有假分数有余数除法
    {
        while(y==0||a==0||b==0)
        {
            y=new Random().nextInt(100);
            
            a=new Random().nextInt(10);

            b=new Random().nextInt(10);
        }
        System.out.println(i+1+": "+"("+x*a+"/"+x+")"+"/"+"("+y*b+"/"+y+")"+"=");
    }
}

  结果截图:

原文地址:https://www.cnblogs.com/my1204/p/5295851.html