and*_*and -1 java if-statement
在我的程序中,我有一个名为yesOrNo的String,它是一个键盘输入.我创建了一个if语句来测试yesOrNo是否为以下之一:"Y","y","Yes","yes"使用|| 运营商.
我收到了错误消息:运算符|| 未定义参数类型java.lang.String,java.lang.String.做这样的事情的正确方法是什么?谢谢.
Scanner keyboard = new Scanner(System.in);
String yesOrNo = keyboard.nextLine();
System.out.println(yesOrNo + "?" );
if (yesOrNo.equals("Y" || "y" || "Yes || "yes")){
Run Code Online (Sandbox Code Playgroud)
我能想到的最短的是:
if (yesOrNo.equalsIgnoreCase("Y") || yesOrNo.equalsIgnoreCase("Yes"))
Run Code Online (Sandbox Code Playgroud)
您的语法无效.它需要有单独的条款:
if(yesOrNo.equals("Y") || yesOrNo.equals("y")...)
Run Code Online (Sandbox Code Playgroud)
如果你使用正则表达式会更清洁:
if(yesOrNo.matches("Y|y|Yes|yes")) {
// Code.
}
Run Code Online (Sandbox Code Playgroud)
额外阅读
您应该查看String Docs.他们详述了各种有用的东西.
阅读Regex.它使复杂的String比较变得非常简单.
最后,查看不同的Operators,看看你能用正确的语法形成什么样的逻辑语句.