int array[] = {0,0,0,0,0,0,0,0,0,0}
if (array[9] == 0) { //if the array is full, skip this
currentVal = array[i]; //store current value in array
i++;
} else {
//store max value of array in medHigh
for (int x = 0; x < 10; x++) {
if (array[x] > medHigh) {
medHigh = array[x];
}
}
}
答案 0 :(得分:1)
很简单,因为您的数组长度为10,因此最大索引为9. Java中的数组是基于0的。这意味着它的索引是从0 incl
到array.length - 1 incl
,在您的情况下是9
。
Java为您提供了堆栈跟踪。它似乎跟随(顺便说一下, A L W A Y S 将其附加到关于Exception
s的问题):
java.lang.ArrayIndexOutOfBoundsException: 10
at package.ClassName.methodName(ClassName.java:lineNumber)
...
行号是您拨打currentVal = array[i];
的行数吗?如果是,那就是您的答案 - i
是10
。
如果您粘贴stack trace
,请评论我的回答以获得进一步的帮助。我会高兴地回答。