编写一个程序,要求从键盘输入一个圆的半径(double类型),计算并输出圆的面积。在没有加入异常处理机制时,输入的数据不是double型数据(如字符串“abc”)会产生什么结果?加入异常处理机制后,让程序在输入不正确的类型数据时给出错误提示并要求重新输入。 java
时间: 2024-01-21 13:16:56 浏览: 22
以下是加入异常处理机制的代码:
```java
import java.util.Scanner;
public class CircleArea {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double radius = 0;
boolean inputCorrect = false;
while (!inputCorrect) {
try {
System.out.print("请输入圆的半径:");
String input = sc.next();
radius = Double.parseDouble(input);
inputCorrect = true;
} catch (NumberFormatException e) {
System.out.println("输入不正确,请重新输入。");
}
}
double area = Math.PI * radius * radius;
System.out.println("圆的面积为:" + area);
}
}
```
在没有加入异常处理机制时,输入的数据不是double型数据(如字符串“abc”)会产生运行时异常`NumberFormatException`。加入异常处理机制后,程序会在捕获到该异常时输出提示信息,并要求重新输入。