Java:什么是对等的!=当比较字符串时?

Java:什么是对等的!=当比较字符串时?,java,string,boolean,Java,String,Boolean,我希望在忽略大小写时,只要用户输入“stop”或“continue”以外的值,就执行while循环。我该怎么做?每当我运行程序时,即使我输入continue或stop,它也会打印“无效条目”。我做错了什么 package butt; import java.util.*; // used for console input public class butt_face{ static Scanner console = new Scanner(System.in);

我希望在忽略大小写时,只要用户输入“stop”或“continue”以外的值,就执行while循环。我该怎么做?每当我运行程序时,即使我输入continue或stop,它也会打印“无效条目”。我做错了什么

package butt;

    import java.util.*; // used for console input

    public class butt_face{

    static Scanner console = new Scanner(System.in); // needed for user input

    public static void main(String[] args) {

   String strContinue; // input from console and used for boolean

    System.out.println("Would you like to stop or continue? ");
    strContinue = console.next();
    while(!(strContinue.equalsIgnoreCase("stop")) || !(strContinue.equalsIgnoreCase("continue")))
        {   
            System.out.println("Invalid entry");
            System.out.println("Would you like to stop or continue? ");
            strContinue = console.next();
        } // end while
    if(strContinue.equalsIgnoreCase("stop")
    {
        System.out.println("Good bye!");
    } // end if
    else
        System.out.println("Poop Ship Destroyer");

    } // end of main

    } // end of class

执行类似于输入函数的操作,在输入这两个字符串中的一个之前调用输入扫描仪。

您使用了错误的运算符:

!(strContinue.equalsIgnoreCase("stop"))
真的
,除非
strContinue
“停止”

真的
,除非
strContinue
“continue”

strContinue
不能同时是
的“停止”
的“继续”
,因此至少有一个条件将始终是
,而
假|真


解决方案:将or(
|
)更改为and(
&&
)。

问题在您的逻辑中

  while(!(strContinue.equalsIgnoreCase("stop")) || !   (strContinue.equalsIgnoreCase("continue")))

本部分检查strContinue是否等于stop如果等于stop,则检查strContinue是否等于continue

您需要在条件中替换为&&而不是||
检查回复

你能更具体一点吗?更具体一点吗?他为你写了密码。看看它并思考。
如果(!someString.equals(otherString))
@duffymo!str.equals()不忽略大小写你应该查阅一些形式逻辑教程来帮助你处理控制语句。为什么你要调用函数来简单地比较两个字符串呢?我真的不明白他的意思,因为他使用了一个特殊的equals变体,并一直在问一般的equals!所以我只是想建议他把代码外包到一个输入法中,这个输入法可以一直运行到想要的结果,这样他就可以在任何地方重复使用它。他的(即OP的)“观点”是毫无根据的,真的。但是>>真正的point@Boognish如果你觉得这个答案有用,请随意投票并接受它!
  while(!(strContinue.equalsIgnoreCase("stop")) || !   (strContinue.equalsIgnoreCase("continue")))