A voir également:
- Java: Une exception parmi tant d'autres
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Waptrick jeux pes 2016 java - Forum logiciel systeme
3 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
Modifié par KX le 27/12/2011 à 11:26
Modifié par KX le 27/12/2011 à 11:26
ArrayIndexOutOfBoundsException n'est pas une erreur de compilation, mais d'exécution !
Cela signifie que tu essayes d'accéder à une case de tableau qui n'existe pas.
Ici tu fais this.classement=classe[i]; avec i=7, alors que classe.length==7, or les indices d'un tableau commencent à 0, et finissent donc à length-1 (ici de 0 à 6), donc à 7 ça plante
Tu devrais modifier la condition de ta boucle while pour prendre en compte la taille du tableau classe.
Cela signifie que tu essayes d'accéder à une case de tableau qui n'existe pas.
Ici tu fais this.classement=classe[i]; avec i=7, alors que classe.length==7, or les indices d'un tableau commencent à 0, et finissent donc à length-1 (ici de 0 à 6), donc à 7 ça plante
Tu devrais modifier la condition de ta boucle while pour prendre en compte la taille du tableau classe.
int max = Math.min(tabClass.length, classe.length-1); int i=0; while (i<max && this.nbreHab<=tabClass[i]) i++; this.classement=classe[i];La confiance n'exclut pas le contrôle
Utilisateur anonyme
27 déc. 2011 à 12:28
27 déc. 2011 à 12:28
Merci bien, c'était bel et bien une erreur de calcul de ma part :P
Merci bien !
Merci bien !
Utilisateur anonyme
27 déc. 2011 à 20:21
27 déc. 2011 à 20:21
Salut,
(Ville.java:62 correspond a this.classement=classe[i]; dans ma methode setClasse() )
(Ville.java:14 correspond a this.setClass dans le constructeur Ville() )
(Main.java:4 correspond a l'initialisation de l'objet v1)
Ces 3 lignes sont à lire de la dernière à la premiere (de la 4 à la 62) et montrent le déroulement du programme la 62 étant celle qui provoque l'exception car i est à 7 et pointe donc sur le 8ème élément d'un tableau qui n'en comporte que 7 numérotes de 0 à 6.
Cordialement,
Dan
(Ville.java:62 correspond a this.classement=classe[i]; dans ma methode setClasse() )
(Ville.java:14 correspond a this.setClass dans le constructeur Ville() )
(Main.java:4 correspond a l'initialisation de l'objet v1)
Ces 3 lignes sont à lire de la dernière à la premiere (de la 4 à la 62) et montrent le déroulement du programme la 62 étant celle qui provoque l'exception car i est à 7 et pointe donc sur le 8ème élément d'un tableau qui n'en comporte que 7 numérotes de 0 à 6.
Cordialement,
Dan
27 déc. 2011 à 11:14