Probleme d'index dans les tableaux

Signaler
Messages postés
96
Date d'inscription
jeudi 1 avril 2004
Statut
Membre
Dernière intervention
22 mai 2008
-
Messages postés
96
Date d'inscription
jeudi 1 avril 2004
Statut
Membre
Dernière intervention
22 mai 2008
-
Désolé de vous dérranger.
Je commence le Java à l'aide d'Eclispe, et de Igloo.
Dans mon projet j'ai créer un tableau qui s'initialise à partir d'une classe que j'ai creer auparavant.
Pour commencer j'initialise mon tableau :
TabLocEnregistre[0] = new StrucftLoca();
TabLocEnregistre[0].locaEnregistre = new Location (...);
TabLocEnregistre[0].dispo = false;
Lors de l'execution Java m'affiche ce message d'erreur :
java.lang.ArrayIndexOutOfBoundsExecption :0
Déclaration de mes classes :
Public class Location
{
private int nroDoss;
private char type;

public Location (char typep)
{
type = typep
}
}
et
public class StructLoca
{
public Location locaEnregistre;
public boolean dispo;
}

Je suis vraiment bloquée, je ne sais pas comment résoudre se problème.
Si quelqu'un à une solution à meproposer, elle serala bienvenue.
Merci à vous tous en attendant.
Bisous et bonne prog.

La puce

4 réponses

Messages postés
489
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
13 mai 2009
6
le problème est probablement ds la création du tableau lui m^me:

faut donné un size à ton tableau avant de commancé à le remplir:

avant cette ligne:

TabLocEnregistre[0] = new StrucftLoca();

faut faire un truc du genre:

StrucftLoca [] TabLocEnregistre = new StrucftLoca[5];
Messages postés
96
Date d'inscription
jeudi 1 avril 2004
Statut
Membre
Dernière intervention
22 mai 2008
1
Je l' ai déjà fais, mon tableau à pour taille maximal nbmxloc, que j'initialise au début de mon application.

La puce
Messages postés
489
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
13 mai 2009
6
nbmxloc est une constante?
Messages postés
96
Date d'inscription
jeudi 1 avril 2004
Statut
Membre
Dernière intervention
22 mai 2008
1
Non, il se déclare de la façon suivante :
public int nbLocMax;

La puce