Скажем, numberTracker = {1,15,6,8}
и numberString = {1,1,5,6,8}
. Каждый номер в numberString
имеет свою собственную плитку. Я пытаюсь установить, например, 1,5 на тот же цвет плитки, так как он равен 15 в numberTracker
, тогда как tileIterator
содержит ту же длину, что и numberString
. Код отлично работает и делает то, что нужно делать. Тем не менее я получаю java.lang.IndexOutOfBoundsException: Index: 5, Size: 5
индекс массива из привязанного 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();
}
Почему вы не отлаживаете и не видите самостоятельно? –