提问人:06ov 提问时间:9/17/2020 更新时间:9/17/2020 访问量:35
Java 中扫描器输入的 if 语句 [duplicate]
if statement for scanner inputs in java [duplicate]
问:
我希望代码是,如果输入“射击”,那么它会打印“很好,你杀死了僵尸” 如果用户输入“不要开枪”,那么它会打印“哦不,僵尸杀了你”
这是我到目前为止所做的,但它不会打印出任何东西。
public static void main(String[] args) {
System.out.println("ZOMBIE AHEAD!");
Scanner kb = new Scanner(System.in);
String action1 = "shoot";
String action2 = "don't shoot";
String str = kb.nextLine();
if (str == action1) {
System.out.println("Nice, you killed the zombie!");
} else if (str == action2) {
System.out.println("Oh no, the zombie killed you!");
}
}
}
答:
0赞
Spectric
9/17/2020
#1
使用以下命令:
public static void main(String[] args) {
System.out.println("ZOMBIE AHEAD!");
Scanner kb = new Scanner(System.in);
String action1 = "shoot";
String action2 = "don't shoot";
String str = kb.nextLine();
if (str.equals(action1)) {
System.out.println("Nice, you killed the zombie!");
} else if (str.equals(action2)) {
System.out.println("Oh no, the zombie killed you!");
}
}
}
您必须使用 .equals() 来比较字符串。
评论
1赞
Maksym Rudenko
9/17/2020
我还建议将顺序从更改为 .这种方法可以避免可能的 NullPointer 异常str.equals(action1)
action1.equals(str)
0赞
Spectric
9/17/2020
非常好的观点。
评论