用java编写双精度型实数的除法运算程序,要求捕获除数为0异常、数字格式异常、通用型异常。注意要把通用型异常的捕获顺序放在最后,运行该程序若干次
时间: 2023-07-15 14:13:48 浏览: 111
MSSQL中进行SQL除法运算结果为小数却显示0的解决方法
以下是Java编写的双精度型实数的除法运算程序:
```
import java.util.Scanner;
public class Division {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double dividend, divisor, result;
while (true) {
try {
System.out.print("请输入被除数:");
dividend = Double.parseDouble(scanner.nextLine());
System.out.print("请输入除数:");
divisor = Double.parseDouble(scanner.nextLine());
result = dividend / divisor;
System.out.println("商为:" + result);
break;
} catch (ArithmeticException e) {
System.out.println("除数不能为0,请重新输入!");
} catch (NumberFormatException e) {
System.out.println("您输入的不是数字,请重新输入!");
} catch (Exception e) {
System.out.println("发生了未知异常,请重新输入!");
}
}
}
}
```
程序中使用了Scanner类获取用户输入的被除数和除数,并使用Double.parseDouble()方法将输入的字符串转换为double类型的数据。程序使用try-catch语句块捕获异常,如果出现除数为0的异常,程序输出提示信息并要求用户重新输入;如果出现数字格式异常,程序同样输出提示信息并要求用户重新输入;如果出现其他未知的异常,程序同样输出提示信息并要求用户重新输入。最后,程序输出除法运算的结果。在程序中,通用型异常的捕获顺序放在了最后。
注意:在Java中,除数为0会抛出ArithmeticException异常,数字格式异常会抛出NumberFormatException异常,通用型异常会抛出Exception异常。
阅读全文