Java 数独棋盘

Java 数独棋盘,java,sudoku,Java,Sudoku,问题在于线路: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 9 at Sudoku.rowIsLatin(Sudoku.java:104) at Sudoku.rowsAreLatin(Sudoku.java:93) at Sudoku.isValidSudoku(Sudoku.java:85) at Sudoku.main(Sudoku.java:8) Java Result: 1 数独数字范围为[

问题在于线路:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 9
at Sudoku.rowIsLatin(Sudoku.java:104)
at Sudoku.rowsAreLatin(Sudoku.java:93)
at Sudoku.isValidSudoku(Sudoku.java:85)
at Sudoku.main(Sudoku.java:8)
Java Result: 1
数独数字范围为[1,9],但数组(长度为9)的索引范围为[0,8]。因此,当(i,j)元素是9时,索引是9,因此引发IndexOutOfBoundsException

你得把它改成

Integer.parseInt(x[i][j])
请注意,在列的相应方法中也会犯相同的错误

Integer.parseInt(x[i][j])
found[Integer.parseInt(x[i][j]) - 1] = true;