Sagen wir numberTracker = {1,15,6,8}
und numberString = {1,1,5,6,8}
. Jede Nummer in numberString
hat ihre eigene Kachel. Ich versuche, zum Beispiel 1,5 auf die gleiche Kachelfarbe zu setzen, da es gleich 15 in numberTracker
ist, während tileIterator
die gleiche Länge wie numberString
enthält. Der Code funktioniert perfekt und tut was zu tun ist. Aber ich bekomme java.lang.IndexOutOfBoundsException: Index: 5, Size: 5
Array-Index außerhalb der Grenze Java
ListIterator <String> nmbTracker = numberTracker.listIterator();
ListIterator <Tile> tileIterator = tiles.listIterator();
Tile t;
int x = 0;
int y = 0;
while (nmbTracker.hasNext()) {
if (numberTracker.get(x).equals(numberString.get(y))) {
t = tileIterator.next();
t.setColor(tilePanel2.changeColour());
if (numberTracker.size() - 1 != x) {
x++;
}
if (numberString.size() - 1 != y) {
y++;
}
} else {
x++;
t = tileIterator.next();
t.setColor(tilePanel2.changeColour());
Color color = t.getColor();
t = tileIterator.next();
t.setColor(color);
y++;
y++;
}
repaint();
}
Warum debuggen und sehen Sie nicht selbst? –