1
System.out.println("Enter the answers pressing enter after every input : ");
for(int x = 0; x < 20; x++) {
do {
studentAnswers[x] = keyboard.next().toUpperCase();
System.out.println(studentAnswers[x]);
if (!"A".equals(studentAnswers[x]) || !"B".equals(studentAnswers[x]) ||
!"C".equals(studentAnswers[x]) || !"D".equals(studentAnswers[x]))
System.out.println("You entered an invalid input.");
} while(!"A".equals(studentAnswers[x]) || !"B".equals(studentAnswers[x]) ||
!"C".equals(studentAnswers[x]) || !"D".equals(studentAnswers[x]));
}
上記は私のコードです。何らかの理由で、if文とdo-whileループの両方の条件が正しい入力を認識していません。たとえば、私がaを入力すると、「あなたは無効な入力を入力しました」と表示されます。私は先生にこれを見させることさえあった。残念ながら、彼は答えも見つけられませんでした。 studentAnswers配列は文字列であり、入力が正しく格納されていることを確認するために、入力の下に行があることさえあります。Java If文のロジック
私はこの問題を解決するための助けに感謝します。前もって感謝します!
"a" .equals( "A")は偽です – baao
toUpperCaseはその@baaoを修正する必要があります – briansrls
@briansrlsありがとう - それは – baao