我需要编写一个程序,该程序可以找到数组中所有值的平均值,然后返回大于平均值的程序。Java,找不到数组的平均数
import java.util.*;
public class AboveAverage {
public static void main(String args[]) throws Exception {
Scanner kbd = new Scanner(System.in);
int count=0, num;
int nums[] = new int[1000];
double sum = 0;
double average = 0;
System.out.println("Input +ve integers, to stop type 0");
num = kbd.nextInt();
while(num > 0) {
nums[count] = num;
count = count + 1;
num = kbd.nextInt();
}
int d = 0;
while (d < 1000) {
sum += nums[d];
d++;
average = sum/nums[d];
}
for(int i=0; i < count ; i=i+1) {
System.out.print(nums[i] + " ");
}
System.out.println(average);
}
}
在我看来问题是在这条线 我尝试了一个低于其给出了一个例外
异常线程“main” java.lang.ArrayIndexOutOfBoundsException:1000 在AboveAvarage.main(AboveAvarage。 Java的:23)
average = sum/nums[d];
我也试过
average = sum/nums.length;
哪给了我的总和而不是平均值。
如果'd'达到'count',用'count'除法,并停止''while''循环。 – rgettman 2015-01-09 23:34:20
你为什么在'while'循环中指定'average'? – khelwood 2015-01-09 23:35:11