5

ユーザーが「N」または「n」を入力したときにwhileループを終了したい。しかし、それは機能しません。1つの条件でうまく機能しますが、2つの条件では機能しません。

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 にして、ループ内でコードを実行します。2 番目の条件は評価されません。

于 2012-06-12T00:00:14.127 に答える