Java - problème d'affichage d'un arraylist
Résolu
javabienetvous
-
Ramo -
Ramo -
A voir également:
- Java - problème d'affichage d'un arraylist
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
6 réponses
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";
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