0
ユーザーに名前を入力させようとしていて、その名前をファイルの名前と比較しようとしています。今のところ、テスト目的で2番目のオブジェクトに固定名を使用しました。スキャナを介して2番目のオブジェクトと正確に一致する最初のオブジェクトの値を入力すると、falseを返し、myのelse文を出力します。次のコードに示すように、固定値で動作しますが、スキャナの入力をコメント解除して "K"と "A"を入力した場合は動作しません。2つのオブジェクト属性を比較するときのスキャナの入力
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");
メンバークラスは何ですか?コメントを付けられていないオブジェクトが等しい場合、あなたは 'equals'をオーバーロードしているように見えます。そのクラス定義を表示します。 – Carcigenicate
'equals'メソッドの実装を追加できますか? –