ユーザーが「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);
}
}
}
変更する必要があります||
から&&
ループに入るには、両方の条件が真でなければなりません。
while(myChar != 'n' && myChar != 'N')
あなたの状態は間違っています。 myChar != 'n' || myChar != 'N'
は常にtrueになります。
使用する myChar != 'n' && myChar != 'N'
代わりに
コードの場合、ユーザーが(たとえば)「X」を入力すると、while条件の評価に到達すると、「X」が「n」(nChar!=「n」)とは異なると判断され、ループ条件が作成されます。 trueにして、ループ内でコードを実行します。 2番目の条件も評価されません。