来自输入的字符串永远不会相等?

时间:2013-09-13 22:27:35

标签: java string equality string-comparison

    import java.util.Scanner;

public class Michal {
    public static void main(String[] args) {
        reply();

    }
    public static void reply() {
        Scanner input=new Scanner(System.in);
        String name=input.nextLine();


        if(name=="john"){  
            System.out.println("bear!");
        }else if(name=="mary")
        {
             System.out.println("lovely lady!");
        }else{
            System.out.println("I don't know that person.");
        }
        System.out.println(name);
        input.close();
    }

}

我认为自己仍然是Java的初学者,所以请不要苛刻你的答案。我试图创建一个程序,每当它获得一定的输入时返回一个答案,但它似乎总是返回“我不认识那个人”。

1 个答案:

答案 0 :(得分:3)

if(name=="john")

不是比较字符串的正确方法。请改用equals()

if(name.equals("john")){  
        System.out.println("bear!");
} else if(name.equals("mary")){