Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.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 WHILE循环中的多个条件_Java_While Loop - Fatal编程技术网

Java WHILE循环中的多个条件

Java WHILE循环中的多个条件,java,while-loop,Java,While Loop,当用户输入'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' || my

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

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

while(myChar != 'n' && myChar != 'N')

你的情况不对<代码>myChar!='n'| | myChar!='N'将始终为真


使用
myChar!='n'&&myChar!='N'
相反

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

您还应该将其更改为do while循环,这样您就不必随机初始化myChar。是的,应该是do,而您也可以使用do字符。toLowerCase(myChar)!='这就解决了我的问题。然而,&&表示“和”。这意味着这两个条件都必须成立。我是一名PL-SQL开发人员,我发现很难理解这个概念。@user547453如果使用
|
,则只有一个或另一个条件可以为真以进入循环。如果myChar='n',则
myChar!='n'
为false,但
myChar!='N'
为true,因此它进入循环。使用
&&
时,由于第一个条件为false,因此不会进入循环。