Java IF语句未正确输出

时间:2015-02-22 23:10:22

标签: java

我是这个网站的新手:)

无论如何,我几天前决定学习java,我遇到一个小问题,我不知道如何修复。 这是我的代码: 当name = Jim时,我希望它输出" Hello Jim",当它没有= Jim然后输出"你不是Jim,你是" +名称

import java.util.*;
public class app {
    public static void main(String[] args) {
        String name;
        Scanner inputName = new Scanner(System.in);

        System.out.println("Enter a name: ");
        name = inputName.nextLine();

        if (name == "Jim") {
            System.out.println("Hello " + name);
        } else {
            System.out.println("Youre not Jim! You are " + name);
        }

    }
}

2 个答案:

答案 0 :(得分:1)

    if (name == "Jim")

这是错误的。您将Java中的字符串与.equals()进行比较。

    if (name.equals("Jim"))

你应该总是有意义地比较对象引用。了解==运算符仅比较对象引用和原始值。在这种情况下,您不希望比较对象引用,您希望有意义地比较对象。 .equals()类的String实现为您做到了这一点。

答案 1 :(得分:0)

更改为

 if (name.equalsIgnoreCase("Jim")) {