java在main()中,创建一个长度为5的整型数组,利用循环, 对该数组进行控制台输入赋值,统计数组中所有非负数的平均值, 分析可能出现的异常,并做处理(如果可以得到最终的平均值则显示出平均值, 如果得不到,则给出相应提示)
时间: 2023-06-14 22:03:39 浏览: 116
下面是一个可能的实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[] arr = new int[5];
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < arr.length; i++) {
System.out.print("请输入第" + (i + 1) + "个数:");
try {
arr[i] = Integer.parseInt(scanner.nextLine());
} catch (NumberFormatException e) {
System.out.println("输入格式有误,请输入整数!");
i--;
}
}
int sum = 0;
int count = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] >= 0) {
sum += arr[i];
count++;
}
}
try {
double avg = (double) sum / count;
System.out.println("所有非负数的平均值为:" + avg);
} catch (ArithmeticException e) {
System.out.println("数组中没有非负数!");
}
}
}
```
该程序中,我们使用了一个长度为5的整型数组 `arr`,并通过循环对其进行控制台输入赋值。在输入过程中,我们使用了 `try-catch` 块来捕获可能出现的 `NumberFormatException` 异常,如果用户输入的不是整数,则会提示用户重新输入并将循环变量 `i` 减1,以便重新输入该位置的值。
接着,我们使用一个循环遍历数组,统计所有非负数的和以及个数,最后计算平均值。在计算平均值时,我们使用了 `try-catch` 块来捕获可能出现的 `ArithmeticException` 异常,如果数组中没有非负数,则会提示用户。如果计算出了平均值,则会将其输出到控制台。
需要注意的是,这个程序只是一种可能的实现,并不是唯一的正确答案。在实际编写程序时,需要根据具体情况进行调整和优化。
阅读全文