5

当用户输入“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);
        }
    }
}
4

3 回答 3

23

您需要更改||为,&&以便两个条件都必须为真才能进入循环。

while(myChar != 'n' && myChar != 'N')
于 2012-06-11T23:58:32.213 回答
1

你的条件不对。 myChar != 'n' || myChar != 'N'永远都是真的。

myChar != 'n' && myChar != 'N'改为使用

于 2012-06-11T23:58:59.333 回答
0

如果您的代码,如果用户输入“X”(例如),当您到达 while 条件评估时,它将确定“X”与“n”(nChar!=“n”)不同,这将使您的循环条件true 并在循环内执行代码。第二个条件甚至没有被评估。

于 2012-06-12T00:00:14.127 回答