Pour éviter une exception de type "array index out-of-bounds", il faut utiliser la fonction amélioré- for
où et quand ils le peuvent.
La motivation principale (et le cas d'utilisation) est lorsque vous itérez et que vous n'avez pas besoin d'étapes d'itération compliquées. Vous pourriez no être en mesure d'utiliser un système d'aide à la décision. for
pour reculer dans un tableau ou itérer uniquement sur un élément sur deux.
Vous êtes assuré de ne pas manquer d'éléments à itérer en procédant ainsi, et votre exemple [corrigé] est facilement convertible.
Le code ci-dessous :
String[] name = {"tom", "dick", "harry"};
for(int i = 0; i< name.length; i++) {
System.out.print(name[i] + "\n");
}
...est équivalent à ceci :
String[] name = {"tom", "dick", "harry"};
for(String firstName : name) {
System.out.println(firstName + "\n");
}
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.