ArrayIndexOutfOfBoundsException 20
Résolu
Xelo-arx
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
fromagedebikette Messages postés 865 Date d'inscription Statut Membre Dernière intervention -
fromagedebikette Messages postés 865 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'ai un petit soucis avec une fonction qui ne veut pas me retourner -1 quand je trouve pas une valeur dans un tableau :
Merci d'avance
public static int rechercheSeq1(int [] t, int valeur){ int i = 0; while((t[i] != valeur) && (i < t.length)){ i++; } if(i == t.length){ i = -1; } return i; }
Merci d'avance
A voir également:
- ArrayIndexOutfOfBoundsException 20
- Telecharger fl studio 20 pour pc gratuit complet - Télécharger - Édition & Montage
- Mettre une note sur 20 ✓ - Forum Bureautique
- 400*20 - Forum Bureautique
- Comment mettre une note sur 20 ✓ - Forum Bureautique
- Code postal 20 - Télécharger - Vie quotidienne
5 réponses
Le problème dans le code est que l'on accède à un index qui n'existe pas.
while((t[i] != valeur) && (i < t.length)){
Il faut changer l'ordre de la condition en
(i < t.length) && (t[i] != valeur)
Explication : si le tableau contient 4 éléments, la taille sera 4 mais les index vont de 0 à 3. Or dans la première condition, on demande la valeur à l'index. Et tab[4] n'existe pas. Si on effectue en premier le test i < t.length, le test vaudra faux et la suite du test ne sera pas effectuée, donc ne renverra pas d'erreur comme on ne demande pas un index inexistant.
while((t[i] != valeur) && (i < t.length)){
Il faut changer l'ordre de la condition en
(i < t.length) && (t[i] != valeur)
Explication : si le tableau contient 4 éléments, la taille sera 4 mais les index vont de 0 à 3. Or dans la première condition, on demande la valeur à l'index. Et tab[4] n'existe pas. Si on effectue en premier le test i < t.length, le test vaudra faux et la suite du test ne sera pas effectuée, donc ne renverra pas d'erreur comme on ne demande pas un index inexistant.
Je te remercie ça marche parfaitement bien =)
et un autre soucis c'est l'utilisation de cette fonction :
Comment l'utilises-t-on dans le main ?
et un autre soucis c'est l'utilisation de cette fonction :
public static long getTemps() { Date d = new Date(); return d.getTime(); }
Comment l'utilises-t-on dans le main ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question