0

これは、インデックスが範囲外の例外を取得しているコードであり、その理由がわかりません。

 int index = array.length - 1;
 E item = array[index];

  while (item == null && index >= 0) {
  index--;
  item = array[index];
  }

java.lang.ArrayIndexOutOfBoundsException: -1 at item = array[index]; を取得しています。どこで間違えたのかわからない。誰でも助けてください。

4

5 に答える 5

1
while (item == null && index >= 0) {
  index--;
  item = array[index];
}

する必要があります

while (item == null && index >= 0) {
  item = array[index--];
}
于 2013-10-15T22:36:02.737 に答える
0

最後のループ実行インデックスは 0 であり、これは条件に当てはまります。次に、-1 にデクリメントし、その位置にある配列要素にアクセスしようとします。

于 2013-10-15T22:37:45.563 に答える
0

これはうまくいくはずです

int index = array.length - 1;
 E item = array[index];

  while (item == null && index > 0) {
  index--;
  item = array[index];
  }
于 2013-10-15T23:08:32.473 に答える