我的if语句总是输出相同的结果
这个 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导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。