Java If语句未正确比较字符串
我有这段代码检查用户输入是否可以接受。但出于某种原因,它总是出现在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
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-这将帮助你。是的,这是一些用户告诉你的。与其自己写答案,为什么不信任帮助你解决问题的人呢?已经有人建议过了。请检查其他答案并接受其中一个。