Comme quelque chose à me aider à apprendre Java, je suis en train de faire un programme avec un constructeur qui crée « simp » (un simp n'est pas lié code) des objets, qui ont chacun trois attributs. Je fais ces objets en boucle à travers trois pour les boucles simultanément:
for(int i = 0; i < simpNames.size(); i++) {
Simp simp = new Simp(simpNames.get(i), simpOrigins.get(i), simpingLevels.get(i));
System.out.println(simp);
}
et la gestion de leurs attributs par un constructeur dans une autre classe Simp
. J'utilise des listes de ArrayList et voici mon constructeur:
public Simp(String newName, String newOrigin, int newSimpingLevel) {
name = newName;
origin = newOrigin;
simpingLevel = newSimpingLevel;
}
Cependant, chaque fois que je lance la fonction, il sort "Simp @ 7cca494b, Simp @ 7ba4f24f, Simp @ 3b9a45b3" sur trois lignes distinctes.
Quelqu'un peut-il me dire pourquoi il fait cela et comment y remédier?
Vous essayez d'imprimer l'adresse de l'objet lors de l' exécution: System.out.println(simp);
Si vous voulez que les attributs de cet objet , vous pouvez utiliser
System.out.println(simp.name + “ “ + simp.origin);
Si les attributs sont publics (si elles sont privées, vous pouvez utiliser leurs apporteurs correspondants).