gpt4 book ai didi

java - 如何使用异常来处理数组大小输入和可用于计算平均值的元素?

转载 作者:行者123 更新时间:2023-12-01 16:51:33 26 4
gpt4 key购买 nike

我的程序将允许用户输入数组大小和数组内的元素。我的问题是,当输入负数组大小数字时,它仍然继续输入元素,而不是 InputMismatchException ,这将提示用户再次输入。我是 Java 新手,请帮助我

公开课Lab5Class{

    public static double avgArry(double[] a) {
double sum = 0;
double average = 0;

for(double numbers: a) {
sum+=numbers;
average = sum / a.length;
}

return average;
}

public static void main(String[] args) {
// TODO Auto-generated method stub
int attempt = 1;
int size;

do {
try {
System.out.println("Enter the size of the array : ");
Scanner input = new Scanner(System.in);
size = input.nextInt();
double myArray[] = new double[size];
System.out.println("Enter the elements of the array one by one: " );
for(int i = 0;i<size; i++) {
myArray[i] = input.nextDouble();
}
System.out.println("Contents of the array are: "+Arrays.toString(myArray));
attempt++;
}catch(InputMismatchException e) {
System.out.println("Invalid Input! Please try again");
}
}while(attempt == 1);

}
}

最佳答案

不,不能使用负整数作为大小,数组的大小代表其中元素的数量。

如果您这样做,程序编译时不会出现问题,但是在执行时会生成 NegativeArraySizeException 类型的运行时异常

示例:

public class Test {
public static void main(String[] args) {
int[] intArray = new int[-5];
}
}

输出:

Exception in thread "main" java.lang.NegativeArraySizeException

关于java - 如何使用异常来处理数组大小输入和可用于计算平均值的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61675272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com