Java使用类对两个分数求和辗转相除法求最大公因子
编程语言
2023-07-12 11:23:47
阅读次数: 0
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