WHILE循环中的多个条件
问题描述:
我想在用户输入'N'或'n'时退出while循环。但它不起作用。它适用于一种情况,但不是两种。WHILE循环中的多个条件
import java.util.Scanner;
class Realtor {
public static void main (String args[]){
Scanner sc = new Scanner(System.in);
char myChar = 'i';
while(myChar != 'n' || myChar != 'N'){
System.out.println("Do you want see houses today?");
String input = sc.next();
myChar = input.charAt(0);
System.out.println("You entered "+myChar);
}
}
}
答
您需要更改||
到&&
,使两个条件必须为真,进入循环。
while(myChar != 'n' && myChar != 'N')
答
你的条件是错误的。 myChar != 'n' || myChar != 'N'
将始终为真。
使用myChar != 'n' && myChar != 'N'
代替
答
如果你的代码,如果用户输入“X”(例如),当你到达,同时条件评价其将确定“X”是differente从“N”(的nChar! ='n')这将使你的循环条件成立并执行循环内的代码。第二个条件甚至没有评估。
您还应该将其更改为do-while循环,以便您不必随机初始化myChar。 – LINEMAN78
是的,应该肯定是做的吧 –
你也可以做Character.toLowerCase(myChar)!='n'使它更具可读性。 – LINEMAN78