正しく受け取ったコメントに基づいて、最初に「人」が実際に何であるかを定義する必要があります。
Person が入力の文字列表現である場合、次の方法でコードを編集する必要があります。
String name;
Scanner scan = new Scanner(System.in);
System.out.println("Please enter your name: ");
name = scan.nextLine();
// asks for user input
// Wrap Person in double quotes
if (name.equals("Person"))
System.out.println("Hey buddy!");
else
System.out.println("This is just an example");
出力は次のようになります。
Please enter your name:
Person
Hey buddy!
Person がユーザー定義オブジェクトの場合、まず equals メソッドをオーバーライドする Person オブジェクトを定義する必要があります。
人物オブジェクト
public class Person
{
private String name;
public Person(String name)
{
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Person other = (Person) obj;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
次に、Person オブジェクトを使用して、メイン メソッドを介してストリームに入力しているものを比較します。
public static void main(String[] args) {
// Construct and initialise Person
Person person = new Person("Person");
Scanner scan = new Scanner(System.in);
System.out.println("Please enter your name: ");
Person name = new Person(scan.nextLine());
// asks for user input
// Use the person object for name instead of String
if (name.equals(person))
System.out.println("Hey buddy!");
else
System.out.println("This is just an example");
}
目的の出力が得られるはずです。
Please enter your name:
Person
Hey buddy!