Je tente d'obtenir qu'un utilisateur entre un nom, puis le compare à un nom de fichier. Pour l'instant, je viens d'utiliser un nom fixe pour mon second objet à des fins de test. Lorsque j'entre des valeurs pour le premier objet qui correspondent exactement au second objet via le scanner, il renvoie false et imprime mon instruction else. Il fonctionne avec des valeurs fixes comme indiqué dans le code suivant, mais pas lorsque je décommente les entrées du scanner et entre "K" et "A".Entrée du scanner lors de la comparaison de deux attributs d'objet
Scanner input = new Scanner(System.in);
Member mem1 = new Member("K", "A");
Member mem2 = new Member("K", "A", "--address--", "--email--", "Math", 123);
// System.out.println("Enter a first name: ");
// mem1.setMemberFirstName(input.nextLine());
// System.out.println("Enter a last name: ");
// mem1.setMemberLastName(input.nextLine());
System.out.println("do these objects match?: " + mem1.equals(mem2));
if (mem1.equals(mem2)) {
System.out.println(mem2.toString());
} else
System.out.println("No person of this name found");
Quelle est votre classe de membre? Vous semblez avoir outrepassé 'equals' si les objets non commentés sont égaux. Montrer cette définition de classe. – Carcigenicate
pouvez-vous ajouter l'implémentation de la méthode 'equals'? –