编写一个类,该类有如下方法:public int f(int a,int b,要求该方法返回a和b的最大公约数,再编写一个该类的子类,要求子类重写方法f,而且重写的方法将返回两个整数的最小公倍数。要求:在重写的方法的方法体中首先调用被隐藏的方法返回a和b的最大公约数m,然后将a*b/m返回;在应用的程序的主类中分别使用父类和子类创建对象,并分别调用方法f计算两个正整数的最大公约数和最小公倍数)
时间: 2023-11-22 19:52:48 浏览: 59
详解c# 类的构造方法
下面是实现该类以及其子类的代码:
```
public class CommonDivisor {
public int f(int a, int b) {
if (b == 0) {
return a;
} else {
return f(b, a % b);
}
}
}
public class LeastCommonMultiple extends CommonDivisor {
public int f(int a, int b) {
int gcd = super.f(a, b);
return a * b / gcd;
}
}
```
在应用的主类中,可以这样使用父类和子类:
```
public static void main(String[] args) {
CommonDivisor cd = new CommonDivisor();
int gcd = cd.f(12, 24);
System.out.println("12和24的最大公约数为:" + gcd);
LeastCommonMultiple lcm = new LeastCommonMultiple();
int lcmResult = lcm.f(12, 24);
System.out.println("12和24的最小公倍数为:" + lcmResult);
}
```
输出结果为:
```
12和24的最大公约数为:12
12和24的最小公倍数为:24
```
阅读全文