【问题标题】:Exit array for loop Java [duplicate]循环Java的退出数组[重复]
【发布时间】:2018-05-19 05:27:07
【问题描述】:

考虑下面我的代码:

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

【问题讨论】:

    标签: java arrays loops exit


    【解决方案1】:

    您正在将字符串与 == 运算符进行比较。它不会产生正确的结果,因为您的常量字符串“N”和您的输入“N”没有相同的引用/指针。

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

    替换

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2019-08-18
        • 2017-04-26
        • 2013-06-15
        • 2016-02-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多