Java - problème d'affichage d'un arraylist
Résolu/Fermé
A voir également:
- Java - problème d'affichage d'un arraylist
- 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
- Télécharger jeux java gameloft gratuit - Forum Mobile
- Java décompiler - Télécharger - Langages
6 réponses
Doctor C
Messages postés
627
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
19 février 2016
398
Modifié par Doctor C le 8/12/2010 à 22:21
Modifié par Doctor C le 8/12/2010 à 22:21
J'ai juste jeté un coup d'oeil rapide mais selon moi, tu devrais placer cette ligne de code:
dans ta boucle, directement avant ces lignes:
Selon ma compréhension des objects en java, tu ajoutais toujours le même cadeau (instancié au tout début de ton code) dans ta liste de cadeaux en changeant les informations de ce dernier à chaque tour de boucle. Sauf qu'en bout de ligne, il s'agissait toujours du même object que tu ajoutais dans ta liste de cadeaux ce qui explique pourquoi tu affichais toujours le même object avec ses dernières modifications.
Faire l'opération new dans ta boucle te permet de créer un nouvel object cadeau (une nouvelle instance de ta classe Cadeau) à chaque tour dans la boucle ce qui devrait éliminer ton problème selon moi.
Bonne chance!
Echo "Lima Mike Alfa";
Cadeau kdo1 = new Cadeau();
dans ta boucle, directement avant ces lignes:
kdo1.setTitre(titre); kdo1.setUrl(url); kdo1.setPrix(prix); kdo1.setDescription(description); listeCadeaux.ajouterCadeau(kdo1);
Selon ma compréhension des objects en java, tu ajoutais toujours le même cadeau (instancié au tout début de ton code) dans ta liste de cadeaux en changeant les informations de ce dernier à chaque tour de boucle. Sauf qu'en bout de ligne, il s'agissait toujours du même object que tu ajoutais dans ta liste de cadeaux ce qui explique pourquoi tu affichais toujours le même object avec ses dernières modifications.
Faire l'opération new dans ta boucle te permet de créer un nouvel object cadeau (une nouvelle instance de ta classe Cadeau) à chaque tour dans la boucle ce qui devrait éliminer ton problème selon moi.
Bonne chance!
Echo "Lima Mike Alfa";
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
8 déc. 2010 à 22:46
8 déc. 2010 à 22:46
Je ne sais pas trop ce que dois faire Clavier (je te conseille la classe Scanner)
Mais j'ai peur que tu ajoutes toujours les mêmes objets...
Au moment où tu fais setTitre (idem pour les autres) tu modifies la valeur du String titre, donc ça modifie toutes les valeurs (qui est la même) de titre dans les différents objets Cadeau de la liste !
Donc forcément, c'est la dernière valeur qui est conservée !
Essayes ceci :
Mais j'ai peur que tu ajoutes toujours les mêmes objets...
Au moment où tu fais setTitre (idem pour les autres) tu modifies la valeur du String titre, donc ça modifie toutes les valeurs (qui est la même) de titre dans les différents objets Cadeau de la liste !
Donc forcément, c'est la dernière valeur qui est conservée !
Essayes ceci :
kdo1.setTitre(new String(titre)); // ou avec Scanner : Scanner sc=new Scanner(System.in); // à initialiser au début kdo1.setTitre(sc.nextLine()); sc.close(); // à fermer à la fin
Super, ça fonctionne parfaitement maintenant.
Merci Doctor C, je vais pouvoir avancer dans mon projet.
Merci Doctor C, je vais pouvoir avancer dans mon projet.
KX, merci pour ton aide.
Clavier est une classe imposée, je ne peux pas utiliser scanner.
C'était "Cadeau kdo1 = new Cadeau(); " qui devait être mis dans la boucle.
Clavier est une classe imposée, je ne peux pas utiliser scanner.
C'était "Cadeau kdo1 = new Cadeau(); " qui devait être mis dans la boucle.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ivalavi6
Messages postés
1
Date d'inscription
jeudi 29 septembre 2011
Statut
Membre
Dernière intervention
29 septembre 2011
29 sept. 2011 à 20:55
29 sept. 2011 à 20:55
je ne comprends pas excusez moi,
la partie
Cadeau kdo1 = new Cadeau();
kdo1.setTitre(titre);
kdo1.setUrl(url);
kdo1.setPrix(prix);
kdo1.setDescription(description);
listeCadeaux.ajouterCadeau(kdo1);
intervient a quel niveau du code? a quelle classe? cadeau ou liste cadeau?
la partie
Cadeau kdo1 = new Cadeau();
kdo1.setTitre(titre);
kdo1.setUrl(url);
kdo1.setPrix(prix);
kdo1.setDescription(description);
listeCadeaux.ajouterCadeau(kdo1);
intervient a quel niveau du code? a quelle classe? cadeau ou liste cadeau?