我是这个网站的新手:)
无论如何,我几天前决定学习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);
}
}
}
答案 0 :(得分:1)
if (name == "Jim")
这是错误的。您将Java中的字符串与.equals()
进行比较。
if (name.equals("Jim"))
你应该总是有意义地比较对象引用。了解==
运算符仅比较对象引用和原始值。在这种情况下,您不希望比较对象引用,您希望有意义地比较对象。 .equals()
类的String
实现为您做到了这一点。
答案 1 :(得分:0)
更改为
if (name.equalsIgnoreCase("Jim")) {