Когда я пытаюсь запустить свой сервер Tomcat и вводить самое нижнее, самое правое значение в сетке Tic-Tac-Toe, я получаю эту ошибку:
java.lang.ArrayIndexOutOfBoundsException: 9
vejus.satya.tictactoe.Servlet.doGet(Servlet.java:33)
javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Вот мой HTML-код внутри формы:
<tr>
<td><input type="radio" name="input" value="0"> </td>
<td><input type="radio" name="input" value="1"> </td>
<td><input type="radio" name="input" value="2"> </td>
</tr>
<tr>
<td><input type="radio" name="input" value="3"> </td>
<td><input type="radio" name="input" value="4"> </td>
<td><input type="radio" name="input" value="5"> </td>
</tr>
<tr>
<td><input type="radio" name="input" value="6"> </td>
<td><input type="radio" name="input" value="7"> </td>
<td><input type="radio" name="input" value="8"> </td>
</tr>
Вот мой код Java, который принимает это:
String[] board = new String[9];
for (int i = 0; i < 9; i ++) {
board[i] = "<input type=\"radio\" name=\"input\" value=\"" + i + "\">";
}
int loc = Integer.parseInt(req.getParameter("input"));
board[loc] = "X";
Как мне это исправить? Ввод, который я получаю, равен 9, в то время как я сделал 8 в коде HTML, как вы можете видеть выше, поэтому я не знаю , почему мое входное значение не работает . Вот почему я получаю эту ошибку.