Voici un morceau de code que je suis en train de courir:java.lang.ArrayIndexOutOfBoundsException: 0 Même après avoir vérifié null
public int numIslands(char[][] grid) {
if(grid==null)
return 0;
else
{
int count=0;
gridtemp=grid; // gridtemp is a global character array
visited=new boolean[grid.length][grid[0].length]; //****ERROR******
for(int i=0;i<grid.length;i++)
{
for(int j=0;j<grid[0].length;j++)
{
if(IslandCount(i,j)>1)
count++;
}
}
System.out.println(count);
return count;
}
}
Ce code est de lancer une erreur java.lang.ArrayIndexOutOfBoundsException: 0 comme indiqué ci-dessus extrait de code
Même '' grid' n'est pas null', il peut être vide, ie, 'grid.length == 0'. Dans ce cas, 'grid [0]' lancera 'ArrayIndexOutOfBoundsException'. – Alex
Ajouter la définition de – c0der
visité Le problème est que lorsque 'grille' est vide, il n'y a rien de' grille [0] '. Vide et null ne sont pas la même chose. (En d'autres termes, Alex a raison, mais tape plus vite que moi, Dave vous a donné un hareng rouge). –