java编写两个类,A 和B.A 创建的对象可以计算两个正整数的最大公约数,B 创建的对象可以计算两个数的最小公倍数。 要求:B 类中有一个成员变量是用A类声明对象的。P
时间: 2023-06-15 22:08:02 浏览: 96
Java求两个正整数的最大公约数和最小公倍数
5星 · 资源好评率100%
下面是代码实现:
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 a) {
this.a = a;
}
public int lcm(int a, int b) { //计算最小公倍数
return a * b / a(a, b);
}
private int a(int a, int b) { //调用A类的gcd方法计算最大公约数
return this.a.gcd(a, b);
}
}
```
在主函数中可以这样使用:
```java
public class Main {
public static void main(String[] args) {
A a = new A();
B b = new B(a);
int num1 = 4, num2 = 6;
System.out.println(num1 + "和" + num2 + "的最大公约数为:" + a.gcd(num1, num2));
System.out.println(num1 + "和" + num2 + "的最小公倍数为:" + b.lcm(num1, num2));
}
}
```
输出结果:
```
4和6的最大公约数为:2
4和6的最小公倍数为:12
```
阅读全文