do whileループでユーザー入力をしようとしました。ユーザーの入力が「はい」または「いいえ」でなければ、ループは続行する必要があります。 は私が書くとき:ユーザー入力とdo whileループwith否定
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
String userInput = "";
String yes = "yes";
String no = "no";
do {
System.out.print("Type yes or no: ");
userInput = input.readLine();
} while (userInput.equals(yes) || userInput.equals(no));
ユーザータイプの場合は、「はい」または「いいえ」のループは、他のすべての入力は、ループの終わりになり、継続します。
私が書くとき:
while (!userInput.equals(yes) || !userInput.equals(no));
ループは関係なく、ユーザが入力するものを、毎回続けています。
私がAND演算子を使用している場合にのみ動作します。
while (!userInput.equals(yes) && !userInput.equals(no));
なぜそうですか? 私は、ユーザーがyesまたはnoを入力するとループを停止したと言っているので、OR演算子ではないはずです。
*「ユーザーがはいを入力した場合、またはループしないようにする」と言いたいのですが、どうしてそれらをプログラムしないのですか?ユーザーが「はい」と入力した場合は、「いいえ」と表示され、ループが繰り返されます。ここで問題となるのは、 'do/while'ループと基本ブール代数の基本概念です。それについていくつかの研究を行い、あなた自身でその質問に答えることができます。 – Tom
あなたは最後の条件が効いている理由と、そうでない理由の両方を 'はい/いいえ'と入力しなかったことを確認してください。 – eg04lt3r
ありがとうございました。それは私の質問に答えます。あなたはすべて素晴らしいです! –