Java编写一个方法aboveAvg,功能是计算给定数组的平均值,并找出有多少个数字在平均值以上,输入参数为一个double类型的一维数组,返回参数为在平均值以上的数字的个数,在main方法中调用该方法(数组长度可以为10,数值可从键盘输入或者随机生成)。
时间: 2024-10-22 09:17:25 浏览: 42
在Java中,你可以创建一个名为`aboveAvg`的方法,首先需要计算数组的平均值,然后遍历数组检查每个元素是否大于平均值。如果大于,就增加计数器。以下是完整的代码示例:
```java
import java.util.Scanner;
import java.util.Random;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入数组长度(1到10):");
int length = input.nextInt();
// 验证输入范围
if (length < 1 || length > 10) {
System.out.println("错误:数组长度必须在1到10之间");
return;
}
double[] array = generateRandomArray(length);
int aboveAverageCount = aboveAvg(array);
System.out.printf("数组的平均值是 %.2f,其中有 %d 个数字高于平均值%n", calculateAverage(array), aboveAverageCount);
}
// 计算平均值
public static double calculateAverage(double[] arr) {
double sum = 0;
for (double num : arr) {
sum += num;
}
return sum / arr.length;
}
// 判断数组中有多少个数字高于平均值
public static int aboveAvg(double[] arr) {
double average = calculateAverage(arr);
int count = 0;
for (double num : arr) {
if (num > average) {
count++;
}
}
return count;
}
// 生成随机数组
private static double[] generateRandomArray(int length) {
Random random = new Random();
double[] array = new double[length];
for (int i = 0; i < length; i++) {
array[i] = random.nextDouble(); // 生成0到1之间的随机小数
}
return array;
}
}
```
在这个程序中,用户会被提示输入数组长度,然后程序会生成相应长度的随机数组并计算其中大于平均值的数字的数量。运行此程序时,你需要提供一个合法的数组长度。
阅读全文