Java:编写程序,要求从键盘输入一个double型的圆的半径,计算并输出其面积。测试当前输入的数据不是double型数据(如字符串”abc”)时会抛出什么异常?试用异常处理方法修改程序。
时间: 2024-03-25 19:41:41 浏览: 19
当输入的数据不是double型数据时,会抛出InputMismatchException异常。
以下是修改后的程序,加入了异常处理:
```java
import java.util.InputMismatchException;
import java.util.Scanner;
public class CircleArea {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double radius = 0.0;
try {
System.out.print("请输入圆的半径:");
radius = scanner.nextDouble();
} catch (InputMismatchException e) {
System.out.println("输入的数据类型不正确!");
System.exit(0); // 退出程序
}
double area = Math.PI * radius * radius;
System.out.println("圆的面积为:" + area);
}
}
```
在程序中使用了try-catch语句,当输入的数据类型不正确时,会抛出InputMismatchException异常,程序会捕获这个异常并输出提示信息,然后退出程序。如果输入的数据类型正确,程序会继续执行计算面积并输出结果。