用Java.计算两数相除并输出结果。使用两个catch 子向,分别捕捉除数为 0的异常和参数输入有误异常。·
时间: 2024-11-09 14:27:07 浏览: 11
python-leetcode面试题解之第29题两数相除-python题解.zip
在Java中,你可以使用try-catch-finally结构来处理可能会抛出异常的情况,比如除数为零或者用户输入的数据不是有效的数值。下面是一个简单的示例:
```java
import java.util.InputMismatchException;
public class DivisionExample {
public static void main(String[] args) {
double dividend = 0; // 被除数
double divisor = 0; // 除数
try {
// 获取用户输入
System.out.println("请输入被除数:");
dividend = Double.parseDouble(System.console().readLine());
System.out.println("请输入除数:");
divisor = Double.parseDouble(System.console().readLine());
// 计算并打印结果
if (divisor != 0) { // 防止除以零
double result = dividend / divisor;
System.out.printf("结果是: %.2f\n", result);
} else {
throw new ArithmeticException("除数不能为零");
}
} catch (NumberFormatException e) { // 输入不是有效数字
System.out.println("错误: 输入的不是有效的数字.");
e.printStackTrace();
} catch (ArithmeticException ex) { // 除数为零
System.out.println("错误: 除数不能为零.");
ex.printStackTrace();
} finally {
// 打印结束信息
System.out.println("程序已结束.");
}
}
}
```
在这个例子中,我们首先尝试将用户的输入转换为`double`类型进行除法运算。如果输入不是有效的数字,`Double.parseDouble()`会抛出`NumberFormatException`,我们就捕获这个异常并给出错误提示。如果输入的除数为零,则直接抛出自定义的`ArithmeticException`,并在catch块中处理。
阅读全文