Désolé cette question ne peut pas vraiment être appliquée à d'autres. Je l'ai regardé pendant quelques heures et je ne peux toujours pas le voir. Il doit être super simple mais je ne peux pas trouver où j'essaie d'accéder à quelque chose qui n'est pas là. Je reçois unArrayIndexOutOfBoundsException itérant sur des tableaux 2D en Java
ArrayIndexOutOfBoundsException lors de l'itération sur une grille 9x9.
public ArrayList<Grid> next9Grids()
{
ArrayList<Grid> next9 = new ArrayList<Grid>();//list of new Grids
for(int i = 0; i < values.length; i++){
for(int j = 0; i < values[i].length; j++){
if (values[i][j] == 0){//if empty
for(int next = 1; next <= 9; next++){
Grid temp9 = new Grid(this);//need to make another grid for each #
temp9.values[i][j] = next; // changes value of empty space to 1->9
next9.add(temp9); //add grid to arrayList
}
return next9;
}
}
}
return null;
}
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 9 à sudoku.Grid.next9Grids (Grid.java:112) à sudoku.Solver.solveRecurse (Solver.java: 54) à sudoku.Solver.solveRecurse (Solver.java:56) à sudoku.Solver.solveRecurse (Solver.java:56)
Ceci est la source de l'erreur. (Grid.java:112) est ---->if(values[i][j] ==0){
Une autre question est: Pourquoi une erreur est-elle lancée sur la ligne 112 quand elle accède à quelque chose que la deuxième boucle boucle en premier et pas la seconde en boucle?
Tout est grandement apprécié. Merci pour les commentaires.
'i
Guy