• 软件工程概论作业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+")"+"=");
        }
    }

      结果截图:

  • 相关阅读:
    linux中服务器定时程序设定
    Linux中java项目环境部署,简单记录一下
    四则运算使用栈和后缀表达式
    PAT乙1003
    L7,too late
    PAT乙1002
    L6,Percy Buttons
    如何计算递归算法的时间复杂度
    c#打印(转)
    C中数组与指针【转】
  • 原文地址:https://www.cnblogs.com/my1204/p/5295851.html
Copyright © 2020-2023  润新知