![]() |
Question 8 |
Une erreur java.lang.ArrayIndexOfBoundsException indique a priori un dépassement d'indice dans un tableau.
Par exemple si on crée un tableau A de 4 éléments, on peut utiliser A[0], A[1], A[2] et A[3]. Mais en essayant d'utiliser A[4] on provoque une erreur (exception) du type cité.
Cela se produit souvent dans des boucles où la condition d'arrêt sur les indices est mal écrite: en général mettre <= au lieu de <.
Exemple de code erronné :
int A[]=new int[4]; for (int i=0; i<=4; i++) A[i]=i;
La boucle est exécutée pour i=0, 1, 2, 3 et 4. Avec i=4 on a une erreur car A[4] n'existe pas.
Correction :
int A[]=new int[4]; for (int i=0; i<4; i++) A[i]=i;
Cette fois la boucle s'exécute pour i=0, 1, 2 et 3; il n'y a plus de problème.