Java实现最大公约数和最小公倍数计算
Java实现最大公约数和最小公倍数计算
本文将使用Java语言编写一个类,该类包含一个方法用于计算两个整数的最大公约数。接着,编写了该类的子类,重写了方法用于计算最小公倍数。文章还展示了如何使用这两个类分别计算最大公约数和最小公倍数。
父类代码:
public class GCD {
public int f(int a, int b) {
if (b == 0) {
return a;
} else {
return f(b, a % b);
}
}
}
子类代码:
public class LCM extends GCD {
public int f(int a, int b) {
int m = super.f(a, b);
return a * b / m;
}
}
应用程序代码:
public class Main {
public static void main(String[] args) {
GCD gcd = new GCD();
int a = 12, b = 18;
System.out.println('最大公约数:' + gcd.f(a, b));
LCM lcm = new LCM();
System.out.println('最小公倍数:' + lcm.f(a, b));
}
}
输出:
最大公约数:6
最小公倍数:36
代码解释:
-
GCD类:
f(int a, int b)方法使用递归的方式计算最大公约数。当b为 0 时,返回a,否则递归调用f(b, a % b),直到b为 0。
-
LCM类:
f(int a, int b)方法首先调用父类GCD的f方法计算a和b的最大公约数m。然后,使用公式(a * b) / m计算最小公倍数,并返回结果。
-
Main类:
- 创建
GCD和LCM对象,分别调用f方法计算最大公约数和最小公倍数,并将结果打印到控制台。
- 创建
通过这个示例,您可以学习如何使用Java实现最大公约数和最小公倍数的计算,并理解继承和方法重写的概念。您可以根据需要修改代码,例如添加用户输入功能或进行错误处理。
原文地址: https://www.cveoy.top/t/topic/oVD6 著作权归作者所有。请勿转载和采集!