我需要編寫一個程序,該程序可以找到數組中所有值的平均值,然後返回大於平均值的程序。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