Question 8


J'ai l'erreur java.lang.ArrayIndexOutOfBoundsException.

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.