编写两个类:A和B,A创建的对象可计算两个正整数的最大公约数,B 创建的对象可以计算两个数的最小公倍数。要求B类中有一个成员变量用A类声 明的对象java
时间: 2024-05-07 09:19:53 浏览: 69
Java求两个正整数的最大公约数和最小公倍数
5星 · 资源好评率100%
以下是Java代码实现:
```
class A {
public int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
}
class B {
private A a;
public B(A a) {
this.a = a;
}
public int lcm(int a, int b) {
return (a * b) / this.a.gcd(a, b);
}
}
```
在这里,类A实现了计算最大公约数的方法gcd(),它使用递归算法实现了欧几里得算法。类B实现了计算最小公倍数的方法lcm(),它使用类A声明的对象a调用gcd()方法来计算最大公约数,最后返回最小公倍数。在类B的构造函数中,需要传入一个A类的对象,以便在计算最小公倍数时使用。
阅读全文