【发布时间】:2013-12-01 01:00:02
【问题描述】:
这是我分离出来的代码:
public static void randomIntArray(int n) {
int[] a = new int[n];
for (int i = 0; i < a.length; i++) {
a[i] = randomInt(-5, 15);
}
scoreHist(a);
}
public static void scoreHist(int[] scores) {
int[] counts = new int[30];
for (int i = 0; i < scores.length; i++) {
int index = scores[i];
counts[index]++;
}
}
但是每当我运行它时,它都会给我这个:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: (Insert Random # Here)
at arrayhistogram.ArrayHistogram.scoreHist(ArrayHistogram.java:39)
at arrayhistogram.ArrayHistogram.randomIntArray(ArrayHistogram.java:31)
at arrayhistogram.ArrayHistogram.main(ArrayHistogram.java:21)
我迷路了。想法?我真的被困住了,并且已经在这个圈子里转了一段时间。
【问题讨论】:
-
+1 用于隔离问题。
-
你在函数 randomIntArray 上传递了什么 int 值?确保它不大于计数的长度。确保随机化正值。