用java编写两个类a和b,A创建的对象可以计算两个正整数的最大公约数,B 创建的对象可以计算两个数的最小公倍数。要求:B 类中有一个成员变量是用A类声明对象的。
时间: 2024-05-08 11:21:03 浏览: 12
以下是Java代码实现:
```
public class A {
public int getGCD(int a, int b) {
if (b == 0) {
return a;
} else {
return getGCD(b, a % b);
}
}
}
public class B {
private A a;
public B(A a) {
this.a = a;
}
public int getLCM(int a, int b) {
return a * b / this.a.getGCD(a, b);
}
}
```
在类A中,我们定义了一个方法getGCD,它使用欧几里得算法来计算两个正整数的最大公约数。在类B中,我们定义了一个成员变量a,它是用A类声明的对象。在构造函数中,我们将A类的对象传递给B类的构造函数。然后,我们定义了一个方法getLCM,它使用类A中的getGCD方法来计算两个数的最小公倍数。
相关问题
用java编写两个类:A和B,A创建的对象可以计算两个正整数的最大公约数,B创建的对象可以计算两个数的最小公倍数。要求:B类中有一个成员变量是用A类声明对象。
A类代码:
```java
public class A {
public int gcd(int a, int b) {
if (b == 0)
return a;
return gcd(b, a % b);
}
}
```
B类代码:
```java
public class B {
private A a;
public B() {
a = new A();
}
public int lcm(int a, int b) {
int gcd = this.a.gcd(a, b);
return a * b / gcd;
}
}
```
在B类中,我们创建了一个A对象并将其存储在成员变量a中。在lcm方法中,我们使用a对象来调用gcd方法来计算最大公约数,并使用它来计算最小公倍数。
用Java编写两个类:A 和 B,A 创建的对象可以计算两个正整数的最大公约数,B 创建的对象可以计算两个数的最小公倍数。要求:B类中有一个成员变量是用A类声明对象。
以下是实现代码:
Class A:
```java
public class A {
public int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
}
```
Class B:
```java
public class B {
private A a;
public B() {
a = new A();
}
public int lcm(int a, int b) {
return (a * b) / this.a.gcd(a, b);
}
}
```
在类B中,使用A类的对象a调用gcd方法,计算最大公约数,然后用最大公约数计算最小公倍数。