当用户输入“N”或“n”时,我想退出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);
}
}
}
答案 0 :(得分:20)
您需要将||
更改为&&
,以便两个条件都必须为true才能进入循环。
while(myChar != 'n' && myChar != 'N')
答案 1 :(得分:1)
你的病情有误。 myChar != 'n' || myChar != 'N'
永远都是真的。
使用myChar != 'n' && myChar != 'N'
代替
答案 2 :(得分:0)
如果您的代码,如果用户输入'X'(例如),当您达到while条件评估时,它将确定'X'与'n'(nChar!='n')不同,这将使你的循环条件为true并执行循环内部的代码。第二个条件甚至没有评估。