退出数组for循环Java

时间:2018-05-19 05:27:08

标签: java arrays loops exit

请考虑下面的代码:

    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”,我该如何退出此循环?

2 个答案:

答案 0 :(得分:1)

您正在将字符串与==运算符进行比较。它不会产生正确的结果,因为你的常量字符串&#34; N&#34;和你的输入&#34; N&#34;没有相同的参考/指针。

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

替换

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

使用

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

答案 1 :(得分:0)

您应该使用.equals()方法而不是==运算符来比较字符串变量。

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