用Java编写双精度型实数的除法运算程序,要求捕获除数为0异常、数字格式异常、通用型异常,注意要把通用型异常的捕获顺序放在最后。并更改有关提示信息,运行该程序若干次,每次输入不同的数据,观察分析程序的运行结果
时间: 2024-03-07 19:50:13 浏览: 82
利用Java输入输出流编程实现计算器
5星 · 资源好评率100%
好的,以下是用Java编写双精度型实数的除法运算程序的示例代码:
```java
import java.util.Scanner;
public class DoubleDivideOperation {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
System.out.print("请输入被除数:");
double dividend = Double.parseDouble(scanner.nextLine());
System.out.print("请输入除数:");
double divisor = Double.parseDouble(scanner.nextLine());
if (divisor == 0) {
throw new ArithmeticException("除数不能为0");
}
System.out.println("结果为:" + (dividend / divisor));
} catch (NumberFormatException e) {
System.out.println("数字格式异常:" + e.getMessage());
} catch (ArithmeticException e) {
System.out.println("除数为0异常:" + e.getMessage());
} catch (Exception e) {
System.out.println("通用型异常:" + e.getMessage());
}
}
}
```
在这个程序中,我们使用了 `try-catch` 语句来捕获可能出现的异常。首先,我们尝试从用户输入中读取两个双精度型实数,如果用户输入的不是双精度型实数,就会抛出 `NumberFormatException` 异常。如果用户输入的除数为0,就会抛出 `ArithmeticException` 异常。如果捕获到这两个异常中的任何一个,我们都会输出相应的错误信息。最后,我们使用一个通用型异常 `Exception` 来捕获所有其他可能的异常,并输出它们的错误信息。注意,通用型异常的捕获顺序应该放在最后,否则它会捕获到前面的异常并阻止它们被捕获。
你可以多次运行这个程序,每次输入不同的数据,观察程序的运行结果。例如,当你输入一个合法的被除数和除数时,程序会输出它们的商。当你输入一个非法的数字时,程序会输出数字格式异常。当你输入一个除数为0时,程序会输出除数为0异常。而当你输入任何其他的异常情况时,程序会输出通用型异常。通过观察程序的运行结果,你可以更好地理解异常处理的机制和使用方法。
阅读全文