![Array index out of bounds exception]()
Voilà à quoi ressemble ce type d'exception lorsqu'elle est levée dans Eclipse. Le chiffre en rouge indique l'index auquel vous avez essayé d'accéder. Le code ressemblerait donc à ceci :
myArray[5]
L'erreur est déclenchée lorsque vous essayez d'accéder à un index qui n'existe pas dans ce tableau. Si un tableau a une longueur de 3,
int[] intArray = new int[3];
alors les seuls index valides sont :
intArray[0]
intArray[1]
intArray[2]
Si un tableau a une longueur de 1,
int[] intArray = new int[1];
alors le seul indice valable est :
intArray[0]
Tout entier égal à la longueur du tableau, ou plus grand qu'elle : est hors limites.
Tout nombre entier inférieur à 0 : est hors limites ;
P.S. : Si vous cherchez à mieux comprendre les tableaux et à faire des exercices pratiques, il y a une vidéo ici : Tutoriel sur les tableaux en Java
1 votes
En ce qui concerne la dernière question, un code serait utile. Accédez-vous au tableau avec un index connu, ou devez-vous commencer à déboguer pour comprendre comment l'index est calculé lorsque l'erreur se produit ?
49 votes
Remplacer
i <= name.length
coni < name.length
- ou mieux, écrire une boucle for améliorée. (for (String aName : name) { ... }
)2 votes
Cela signifie que vous voulez obtenir un élément du tableau qui n'existe pas, 'i<=name.length' signifie que vous voulez obtenir l'élément length+1 - qui n'existe pas.
1 votes
fr.wikipedia.org/wiki/Off-by-one_error
0 votes
Le tableau sort de ses limites lorsque l'indice que vous essayez de manipuler est supérieur à la longueur du tableau. Pour être correct, vos indices doivent toujours être inférieurs d'une unité au nombre total d'éléments du tableau, car l'indice du tableau commence à 0 et non à 1.
0 votes
Le classique
null
exception du pointeur.