编写一个Java程序,要求输入两个整数a、b,输出它们的最大公约数。要求使用三元运算符实现。
时间: 2024-03-11 15:48:10 浏览: 83
以下是一个使用三元运算符实现的Java程序,可以计算两个整数的最大公约数:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入第一个整数: ");
int a = scanner.nextInt();
System.out.print("请输入第二个整数: ");
int b = scanner.nextInt();
int gcd = a > b ? (a % b == 0 ? b : gcd(b, a % b)) : (b % a == 0 ? a : gcd(a, b % a));
System.out.println("最大公约数为: " + gcd);
}
public static int gcd(int a, int b) {
return b == 0 ? a : gcd(b, a % b);
}
}
```
程序中,我们先使用Scanner类从控制台读取两个整数a和b,然后使用三元运算符计算它们的最大公约数。当a大于b时,我们使用递归调用gcd方法计算b和a%b的最大公约数;当b大于a时,我们使用递归调用gcd方法计算a和b%a的最大公约数。当a或b整除另一个数时,它们的最大公约数就是另一个数。
最后,我们将计算结果输出到控制台。
阅读全文