Soucis de java.lang.IndexOutOfBoundsException

DIROP
Messages postés
6
Date d'inscription
mercredi 29 octobre 2014
Statut
Membre
Dernière intervention
29 novembre 2014
- 29 oct. 2014 à 02:06
KX
Messages postés
16585
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 août 2022
- 29 oct. 2014 à 07:44
Bonsoir, ayant lu sur de nombreux forum de nombreuses solutions, je n'ai pas su l'appliquer dans mon cas.
Voici le bout de code en question


 for(int i=0;i<=Herbes.size();i++){
if(Herbes.get(1) != null){

herbe = (Herbe) Herbes.get(i);
}
graphics2d.drawImage(herbe.getImage(), herbe.getX(), herbe.getY(), null);

}



Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)

Merci de votre futur aide
A voir également:

1 réponse

KX
Messages postés
16585
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 août 2022
124
29 oct. 2014 à 07:44
Bonjour,

C'est pourtant pas très compliqué, faut lire l'erreur
Index: 3, Size: 3
.
Tu fais un
Herbes.get(i)
avec
i==3
alors que
Herbes.size()==3
.
Or les indices commencent à 0 et se terminent à
size()-1
, donc 2, pas 3.

Regarde ta boucle, tu fais
i<=Herbes.size()
au lieu de
i<Herbes.size()
...
2