输入两个整数(可以用Scanner的nextInt()方法实现),但在程序运行时,会产生输入异常,如输入的数字是小数或负数等,则程序的运行中会出现异常,严重时程序会发生中断,要保证程序的健壮性,可以采用异常捕获和处理技术。 ①创建一个类MaxFactor; ②在类中定义一个方法,完成最大公约数的计算并声明该方法会抛出的异常,同时在该方法中手动抛出一个异常对象; ③在main方法中调用定义的方法,并捕获方法抛出规划的异常进行处理。
时间: 2023-12-20 12:04:29 浏览: 64
从键盘任意输入两个整数,输出两数之间的素数,素数判断用函数实现。 扩展要求:1)程序可以循环执行,判断完一组可以再进行下一组;可以设定一个特殊键退出
5星 · 资源好评率100%
代码如下:
```java
import java.util.Scanner;
public class MaxFactor {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
System.out.print("请输入第一个整数:");
int num1 = scanner.nextInt();
System.out.print("请输入第二个整数:");
int num2 = scanner.nextInt();
int maxFactor = getMaxFactor(num1, num2);
System.out.println(num1 + "和" + num2 + "的最大公约数为:" + maxFactor);
} catch (Exception e) {
System.out.println("输入不合法,请输入正整数!");
}
}
public static int getMaxFactor(int num1, int num2) throws Exception {
if (num1 <= 0 || num2 <= 0) {
throw new Exception("输入不合法!");
}
while (num1 != num2) {
if (num1 > num2) {
num1 = num1 - num2;
} else {
num2 = num2 - num1;
}
}
return num1;
}
}
```
在`getMaxFactor()`方法中,我们先判断输入的两个整数是否合法,如果不合法则手动抛出一个异常对象。在`main()`方法中,我们使用`try-catch`语句捕获`getMaxFactor()`方法可能抛出的异常,并进行处理。如果捕获到异常,则输出提示信息;如果没有异常,则输出最大公约数。这样就保证了程序的健壮性。
阅读全文