我的if语句总是输出相同的结果

编程语言 2026-07-07

这个 if-语句用于检查 playerInput.contains("equip")playerInput.contains("unequip")

System.out.println("Equip or UnEquip");
String playerInput = scanner.nextLine().toLowerCase();
if (!playerInput.contains("equip") || !playerInput.contains("unequip")) {
    System.out.println("Invalid choice, you must either write equip or unequip");}

这个条件始终是 true,如果我写下 "equip"if-语句通过;如果我写下 "unequip",控制台就会直接关闭。我想知道解决这个问题的标准做法。

解决方案

这真的一团糟。

这个逻辑表达式的模式是:

if (!CASE1 || !CASE2) {

本应是

if (!CASE1 && !CASE2) {

因为存在两种不同的情况,任意一种都会失败。

然后 "unequip".contains("equip")

也许 !playerInput.equals("unequip") && !playerInput.equals("equip") 就足够了。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章