2016-01-16 44 views
-3

我試圖做一個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; 
+2

你應該以吸引那些熟悉的注意添加特定的語言標籤用你使用的語言,誰能更好地幫助你。 –

+0

是這個代碼的java? – ganchito55

回答

2

x != 'U' || x != 'D'測試將總是是真實的 - 想想吧。如果輸入的字符是U,那麼第一次測試將是錯誤的,但第二次測試將是真實的,所以整個事情將是真實的。你想使用&&代替||

while(userInputCheck != 'U' && userInputCheck != 'D' && ... 

一旦你做到這一點,但也沒有必要爲第一if ...

相關問題