7-3 jmu-Java-m07 面积计算 (15分)
在main方法中定义两个静态方法double[] getRadius(String line)以及double getFiveArea(double[] circles)。分别用于将一行数据转换为一个半径数组以及求半径数组中第五个数据对应的圆形的面积(π的值使用Math类中的PI,平方计算使用Math中的pow()方法)。
首先输入多行数据,遇到"!!!"时停止输入,调用getRadius方法将每一行数据转化为半径数组,其中按空格进行数据的分割,其中如果输入的是空行则抛出NullPointerException异常,否则则进行相应的数据转换。若发生异常则输出异常信息(toString()方法),接着使用getFiveArea()方法得到并输出转换完成后的数组中的第五个数据对应的圆形面积,如果数组长度小于5,则抛出IndexOutOfBoundsException异常,如果数组的第五个数据小于等于0,则抛出RuntimeException异常。
输入格式:
以"!!!"为结尾的多行数据
输出格式:
每行数据转换成半径数组后的第五个数据对应的圆形面积的大小
输入样例1:
1 2 3 4 5 6
1 2 e r 3 4
1 1
3 3 3 3 -4
2 2 2 2 2 4 5
!!!
输出样例1:
78.53981633974483
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsException: 4
0.0
java.lang.NumberFormatException: For input string: “e”
java.lang.NumberFormatException: For input string: “r”
28.274333882308138
java.lang.ArrayIndexOutOfBoundsException: 4
0.0
java.lang.RuntimeException
0.0
12.566370614359172
输入样例2:
2 7 4
5 R 4 7 9 p
2 2 2 2 -6
2 3 4 5 6 7 8
3 4 4 7 e 3
!!!
输出样例2:
java.lang.ArrayIndexOutOfBoundsException: 4
0.0
java.lang.NumberFormatException: For input string: “R”
java.lang.NumberFormatException: For input string: “p”
254.46900494077323
java.lang.RuntimeException
0.0
113.09733552923255
java.lang.NumberFormatException: For input string: “e”
java.lang.RuntimeException
0.0
作者
郑如滨
单位
集美大学
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(