2016-01-23 77 views
1

所以我做了一個程序,我需要保持提示座標如果用戶輸入一個非負的,無效的輸入。這意味着如果用戶輸入一個高於2的數字或一個字母,它應該要求他再次選擇。那我遇到的問題是,權當我輸入一個字母,程序將終止,我得到InputMismatchException時爲信,並ArrayOutOfBoundsException爲更高的數字。有沒有辦法繞過所有這些錯誤,並要求用戶再次選擇?提示用戶

因此,例如:

"Enter the coordinates to place an 'X'. Row then Column." 
//enters number > 2 or letter 
"Invalid input. Please choose again." 
+0

我已經找到了輸入字母的解決方案,但我似乎無法得到一個參數這個數字超出了我現在使用的代碼的範圍。 @湯姆 – USC23

回答

0

使用do/while循環:

boolean valid = false; 
do { 
    try { 
     // "Enter the coordinates to place an 'X'. Row then Column." 
     // validate input 
     valid = // final value of validation goes here 
    } catch (Throwable t) { 
     // invalid input 
    } while (!valid) 
}