在Java中,你可以使用辗转相除法(也称为欧几里得算法)来计算两个整数的最大公约数(GCD),然后利用最大公约数来计算最小公倍数(LCM)。以下是一个Java方法的示例:
public class MathUtils {
// 计算最大公约数的方法
public static int gcd(int a, int b) {
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}
// 计算最小公倍数的方法
public static int lcm(int a, int b) {
return a / gcd(a, b) * b; // 注意:这里假设a和b都是正整数,如果a或b为负数,需要先取绝对值
}
// 主方法,用于测试gcd和lcm方法
public static void main(String[] args) {
int num1 = 15;
int num2 = 20;
System.out.println("The GCD of " + num1 + " and " + num2 + " is: " + gcd(num1, num2));
System.out.println("The LCM of " + num1 + " and " + num2 + " is: " + lcm(num1, num2));
}
}
在这个例子中,gcd
方法使用辗转相除法来计算两个数的最大公约数,而 lcm
方法则使用公式 LCM(a, b) = (a * b) / GCD(a, b)
来计算最小公倍数。注意,这里假设输入的两个整数都是正整数,如果需要处理负整数,可以在方法内部对输入的整数取绝对值。