Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java If语句未正确比较字符串_Java - Fatal编程技术网

Java If语句未正确比较字符串

Java If语句未正确比较字符串,java,Java,我有这段代码检查用户输入是否可以接受。但出于某种原因,它总是出现在if语句中。有人知道为什么吗 do{ System.out.println("Please enter the size of bed " + i + ". (Enter SINGLE, DOUBLE or KING): "); bedSize = userInput.next().toUpperCase(); if (!bedSize.equals("SIN

我有这段代码检查用户输入是否可以接受。但出于某种原因,它总是出现在if语句中。有人知道为什么吗

do{
            System.out.println("Please enter the size of bed " + i + ". (Enter SINGLE, DOUBLE or KING): ");
            bedSize = userInput.next().toUpperCase();
            if (!bedSize.equals("SINGLE") || !bedSize.equals("DOUBLE") || !bedSize.equals("KING")){
                System.out.println("Must enter one of the options; SINGLE, DOUBLE, KING");
            }
        }while(!bedSize.equals("SINGLE") || !bedSize.equals("DOUBLE") || !bedSize.equals("KING"));
用这个

if (!bedSize.equals("SINGLE") && !bedSize.equals("DOUBLE") && !bedSize.equals("KING"))

(如果床的大小不同于“单人床”不同于“双人床”不同于“国王床”)

好,现在全部解决。我使用的是OR运算符,而不是AND。谢谢你的回复

if (!bedSize.equals("SINGLE") && !bedSize.equals("DOUBLE") && !bedSize.equals("KING"))

作为替代,你可以去

List<String> allowed = Arrays.asList("SINGLE", "DOUBLE", "KING");
if(!allowed.contains(bedsize)) {

}
List allowed=Arrays.asList(“SINGLE”、“DOUBLE”、“KING”);
如果(!允许。包含(床位尺寸)){
}

就以后的扩展而言,这会更好。假设您还想添加大号床-如果
s,会给您的
带来多少麻烦?

非常确定您想要这些床,而运营商
&&
不需要,或者……为什么会有反对票,因为新用户问错了问题?那么还有谁问错了问题?嗨@Andrew-这将帮助你。是的,这是一些用户告诉你的。与其自己写答案,为什么不信任帮助你解决问题的人呢?已经有人建议过了。请检查其他答案并接受其中一个。