Drole d'erreur avec NullPointerException
Bonjour à tous,
Tout d'abord je tiens à préciser que je sais à quoi correspondce type d'erreur.
C'est juste qu'elle apparait bizarrement sur 2 ligne à peu près similaire.
voila mon problème:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| for(int ligne = 1; ligne < 4; ligne++) {
for(int colonne = 0; colonne < 6; colonne++) {
if(grille[colonne][ligne] != null && grille[colonne][ligne].getEstRouge() && grille[colonne][ligne+1].getEstRouge() && grille[colonne][ligne+2].getEstRouge()) {
if(grille[ligne][colonne-1] == null) {
columnToPlay = ligne;
return columnToPlay;
}
}
}
}
for(int colonne = 0; colonne < 4; colonne++) {
for(int ligne = 0; ligne < 6; ligne++) {
if(grille[colonne][ligne] != null && grille[colonne][ligne].getEstRouge() && grille[colonne+1][ligne].getEstRouge() && grille[colonne+2][ligne].getEstRouge()) {
if(grille[colonne+3][ligne] == null && (ligne == 5 || grille[colonne+3][ligne+1] != null)) {
columnToPlay = colonne + 3;
return columnToPlay;
}
if(colonne > 0 && grille[colonne-1][ligne] == null && (ligne == 5 || grille[colonne-1][ligne+1] != null)) {
columnToPlay = colonne - 1;
return columnToPlay;
}
}
}
} |
Lors de l'exécution, le premier "for" se déroule sans problème. Seulement le deuxième m'affiche ceci:
Code:
1 2 3
|
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
at sample.IA_Medium.think(IA_Medium.java:94) |
La ligne 94 correspond au plus grand "if" du second "for", soit la ligne 15 ici.
Voila du coup mon interrogation, pourquoi le premier "for" fonctionne et pas le second alors que les deux plus grand "if" des deux bouclessont quasi les mêmes?
Si vous avez une idée, merci ;)