Java使用类对两个分数求和辗转相除法求最大公因子

Java使用类对两个分数求和

例如:1/6+5/7=?

要求使用类,作为返回值。

解答:

1.构造分数类

2.编写求最大公因子的方法

3.主函数

代码如下:

package Package;
//求分数求和
public class text7{
    static class Fenshu{
    int Fenzi;
    int Fenmu;
    public Fenshu(){

    }
    public Fenshu(int Fenzi,int Fenmu){
        this.Fenmu=Fenmu;               //this代表当前对象成员变量
        this.Fenzi=Fenzi;               //构造方法对类变量进行赋值
    }
    public Fenshu Add(Fenshu var1, Fenshu var2)
    {                                   //方法返回值类型是类
        Fenshu Temp = new Fenshu();
        Temp.Fenzi=var1.Fenzi*var2.Fenmu+var1.Fenmu* var2.Fenzi;
        Temp.Fenmu=var1.Fenmu*var2.Fenmu;
        return Temp;
    }
    public int gdc(int m,int n)
    {
        int k=m%n;               //辗转相除法求最大公因子
        while(k!=0)
        {
            m=n;
            n=k;
            k=m%n;
        }

        return n;
    }
}
    public static void main(String[] args) {
        Fenshu num1=new Fenshu(6,18);  // 如果需要在实例化对象的时候就对对象属性进行赋值,可以通过构造方法
        Fenshu num2=new Fenshu(1,8);   //调用有参构造方法赋值  ,构造方法的重载,方法体不同
        Fenshu num=new Fenshu();
        Fenshu num3;
        num3=num.Add(num1,num2);
        System.out.println(num1.Fenzi+"/"+num1.Fenmu+"+"+ num2.Fenzi+"/"+num2.Fenmu+"="+num3.Fenzi+"/"+num3.Fenmu);
        int yu=num3.gdc(num3.Fenmu,num3.Fenzi);
        System.out.println(num1.Fenzi+"/"+num1.Fenmu+"+"+ num2.Fenzi+"/"+num2.Fenmu+"="+num3.Fenzi/yu+"/"+num3.Fenmu/yu);

    }
}

猜你喜欢

转载自blog.csdn.net/weixin_52563520/article/details/124817113
今日推荐