Affichage d'un ArrayList

Résolu
sassion Messages postés 25 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 23 août 2012 - 22 mai 2012 à 09:37
sassion Messages postés 25 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 23 août 2012 - 25 mai 2012 à 09:13
Bonjour,

Je suis débutante en Java. J'ai un problème d'affichage d'un arraylist d'objets.
Je voudrais afficher le contenu d'un arraylist d'objets mais j'affiche toujours le même objet (le dernier).
Par exemple, si j'ajoute 2 objets différents, il m'affiche 2 fois le dernier ajouté. Pourquoi ?
Voici le code que j'utilise :


public static void main(String[] args) throws IOException {
AgentDecideur a =new AgentDecideur();
myGenerator g=new myGenerator();
RecupererXml r=new RecupererXml();
Conseiller c=new Conseiller();
Traitement o=new Traitement();
ArrayList l=new ArrayList();
r.parser();
r.relation();
int aid;
ArrayList acc=new ArrayList();
ArrayList ci=new ArrayList();
ArrayList vf=new ArrayList();
ArrayList vi=new ArrayList();
for(int i=1;i<=Integer.parseInt(r.recNbAg());i++){
a=new AgentDecideur();
acc=new ArrayList();
ci=new ArrayList();
vf=new ArrayList();
vi=new ArrayList();
r.lacc=new ArrayList();
r.lc=new ArrayList();
r.lv=new ArrayList();
r.lvf=new ArrayList();
aid=i;
vi=r.variableInterne(i);
ci=r.contrainteInterne(i);
r.variableExterne();
acc=o.dist(r.accointance(i));
vf=o.dist(r.affidv(r.variableF(r.lv, r.lve)));
a=new AgentDecideur(aid,acc,ci,vf,vi);
ldm.add(a);
}
ListIterator i=ldm.listIterator();
while(i.hasNext()){
a=(AgentDecideur)i.next();
a.affiche();
}
}
}

3 réponses

sassion Messages postés 25 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 23 août 2012
22 mai 2012 à 10:27
j'ai trouvé l'erreur, en fait lors de l'affichage j'utilise les variables statiques qui ont toujours la dernieres valeurs. :) donc juste j'ai changé la fonction affiche()
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
25 mai 2012 à 08:55
Salut,

Pour afficher le contenu d'une ArrayList, tu peux faire :
System.out.println(Arrays.toString(liste.toArray()));


Je sais que ca ne répond pas à ta question est que ton problème est résolu, mais c'était juste pour info.

a+
3
sassion Messages postés 25 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 23 août 2012
25 mai 2012 à 09:13
Merci
0
Rejoignez-nous