实现从键盘输入两个整数,用第一个整数除以第二个整数(结果为整数),打印出运行结果。如果键盘没有输入参数或参数不足,则会产生ArrayIndexOutOfBoundsException异常(NumberFormatException异常);如果第二个参数为0,则会产生ArithmeticException异常。编写程序对这些异常进行捕获并打印出相应的信息。
时间: 2024-02-25 13:58:52 浏览: 71
好的,以下是实现该需求的 Java 代码:
```java
import java.util.Scanner;
public class Division {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
int num1 = Integer.parseInt(args[0]);
int num2 = Integer.parseInt(args[1]);
if (num2 == 0) {
throw new ArithmeticException("除数不能为0!");
}
int result = num1 / num2;
System.out.println(result);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("请输入两个整数!");
} catch (NumberFormatException e) {
System.out.println("请输入正确的整数!");
} catch (ArithmeticException e) {
System.out.println(e.getMessage());
}
}
}
```
首先,我们创建了一个 Scanner 对象,用于从键盘读取用户输入。然后,我们使用 try-catch 块来捕获可能出现的异常。
在 try 块中,我们首先使用 Integer.parseInt() 方法将用户输入的字符串转换成整数类型。这里我们假设用户输入的参数是正确的,如果转换时出现异常,则会抛出 NumberFormatException 异常。
接着,我们检查第二个参数是否为0。如果是,就抛出一个自定义的 ArithmeticException 异常,其中包含了错误信息。
最后,我们计算出两个数的商,并将结果打印出来。
在 catch 块中,我们分别捕获了可能出现的三种异常:ArrayIndexOutOfBoundsException、NumberFormatException 和 ArithmeticException。分别输出相应的错误信息。
阅读全文