While loop 无法使用(!=)检查字符值

While loop 无法使用(!=)检查字符值,while-loop,char,While Loop,Char,我试图做一个while循环,检查用户输入的字符是否正确。如果字符不正确,则循环将一直运行,直到它正确为止。然而,当我进入这个循环时,我无法退出,即使我输入了正确的值。任何帮助都将不胜感激 if (userInputCheck == 'U' || userInputCheck == 'D' || userInputCheck == 'R' || userInputCheck == 'L'){ return userInputCheck; } else

我试图做一个while循环,检查用户输入的字符是否正确。如果字符不正确,则循环将一直运行,直到它正确为止。然而,当我进入这个循环时,我无法退出,即使我输入了正确的值。任何帮助都将不胜感激

if (userInputCheck == 'U' || userInputCheck == 'D' || userInputCheck == 'R' || userInputCheck == 'L'){

        return userInputCheck;
    }

    else

    while(userInputCheck != 'U' || userInputCheck != 'D' || userInputCheck != 'R' || userInputCheck != 'L'){

        System.out.println("ERROR. Please enter U for up, D for down, R for right, or L for left");
        String temp = keyboard.next();
        userInputCheck = temp.charAt(0);
    }

    return userInputCheck;
像x这样的测试U'| | x!='D’永远是真的——想想看。如果输入的字符是U,则第一个测试将为假,但第二个测试将为真,因此整个测试将为真。您希望使用&&而不是| |:


一旦你这样做了,如果你应该添加一个特定的语言标签来吸引那些熟悉你所用语言的人的注意,他们将能够更好地帮助你,那么也就不需要第一个标签了。
while(userInputCheck != 'U' && userInputCheck != 'D' && ...