В настоящее время я делаю игру в крестики-нолики с использованием многомерных массивов в java, и я, кажется, тут попал в стену. Я сравниваю три показателя, чтобы узнать, совпадают ли они (чтобы объявить победителя). Я обнаружил, что могу успешно сравнить два без исключений. Однако, если я сравниваю три, исключение вне границ выдается после отображения того, что пользователь выиграл (по горизонтали). Я действительно не уверен в том, что происходит. Массив имеет размер 5 на 5 и имеет тип String, причем все значения изначально имеют значение "". Я довольно неграмотен с этим сайтом, поэтому извините, если вопрос был отформатирован неправильно !! Пожалуйста, дайте мне знать, чтобы я мог улучшить! :)
Код:
for (int row = 0; row < testArray.length; row++)
{
for (int column = 0; column < testArray[row].length; column++)
{
if ((testArray[row][column].equals("x")) && (testArray[row][column + 2].equals("x")) && (testArray[row][column + 4].equals("x")))
System.out.println("You win!");
if (!(column % 2 == 0))
testArray[row][column] = "|";
else if (!(row % 2 == 0))
testArray[row][column] = "-";
System.out.print(testArray[row][column]);
}
System.out.println("");
}
Большое спасибо заранее!
Редактировать: Для справки я набираю row = 0, column = 0. Затем r = 0 col = 0 устанавливается в x.
Происходит итерация, r = 0, col = 2 устанавливается в x, а затем снова запрашивается. Когда я получаю к r = 0, col = 4, когда происходит исключение.