退出数组 for 循环 Java

Exit array for loop Java

考虑下面的代码:

    System.out.println("Insert your inventory");
    for (int i = 0; i<20;i++) {
       System.out.print(i+1+".");
       if (inventory[i] == "N" || inventory[i]=="n") {
          break;
       }
       inventory[i] = s.nextLine();     
    }

如果用户输入 'N' 或 'n',我如何退出此循环?

您应该将字符串变量与 .equals() 方法而不是 == 运算符进行比较。

可以找到关于为什么这很重要的解释 here on Whosebug

您正在将字符串与 == 运算符进行比较。它不会产生正确的结果,因为您的常量字符串 "N" 和您的输入 "N" 没有相同的 reference/pointer.

您必须使用 equals() 来保证字符串之间的正确比较结果。

替换

if (inventory[i] == "N" || inventory[i]=="n") 

if (inventory[i].equals("N") || inventory[i].equals("n"))