7-22 整型数除法异常处理 分数 10 作者 wly-ws 单位 成都信息工程大学 从键盘输入两个int类型的整数作为除数和被除数求商。要求程序中捕获NumberFormatException 异常和ArithmeticException 异常,而且无论在哪种情况下,“总是被执行”这句话都会在控制台输出。 输入格式: 输入两个整数。 输出格式: 求商的结果,若有异常发生则输出异常信息。 如果输入数据为非整数(小数或非数字),提示:请输入整型数! 如果输入数值为0,提示:除数不可为0!
时间: 2024-03-22 10:38:28 浏览: 117
以下是对您的问题的回答:
您的问题是:
7-22 整型数除法异常处理 分数 10 作者 wly-ws 单位 成都信息工程大学 从键盘输入两个int类型的整数作为除数和被除数求商。要求程序中捕获NumberFormatException 异常和ArithmeticException 异常,而且无论在哪种情况下,“总是被执行”这句话都会在控制台输出。 输入格式: 输入两个整数。 输出格式: 求商的结果,若有异常发生则输出异常信息。 如果输入数据为非整数(小数或非数字),提示:请输入整型数! 如果输入数值为0,提示:除数不可为0!
回答:
以下是 Java 代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
int divisor = Integer.parseInt(scanner.next());
int dividend = Integer.parseInt(scanner.next());
int result = dividend / divisor;
System.out.println(result);
} catch (NumberFormatException e) {
System.out.println("请输入整型数!");
} catch (ArithmeticException e) {
System.out.println("除数不可为0!");
} finally {
System.out.println("总是被执行");
}
}
}
```
实现思路:
1. 创建一个 Scanner 对象,用于从控制台输入两个整数。
2. 使用 try-catch-finally 语句块,捕获 NumberFormatException 异常和 ArithmeticException 异常。
3. 在 try 块中,将输入的字符串转换成整数作为除数和被除数,然后进行除法运算,将结果保存在 result 变量中,并输出。
4. 如果输入的字符串无法转换成整数,将捕获 NumberFormatException 异常并输出提示信息“请输入整型数!”。
5. 如果除数为 0,将捕获 ArithmeticException 异常并输出提示信息“除数不可为0!”。
6. 无论是否发生异常,finally 块中的语句都会被执行,并输出“总是被执行”。
希望能够帮到您!
阅读全文