Red*_*One 1 arrays if-statement string-comparison
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]));
}
Run Code Online (Sandbox Code Playgroud)
以上是我的代码.无论出于何种原因,if语句和do-while循环的条件都不能识别正确的输入.例如,如果我输入a,它将打印"您输入了无效输入".我甚至让我的老师看看这个.不幸的是,他也找不到答案.数组studentAnswers是一个String,我甚至在输入下面有一行,以确保输入正确存储.
我很感激任何帮助解决这个问题.提前致谢!