我有一個方法用於驗證程序中的用戶輸入值。每當用戶輸入一個字符串到一個JOptionPane中時,我會調用這個方法並傳入輸入的字符串,加上我需要輸入的最大值和最小值。首先,我通過嘗試解析輸入字符串並捕獲異常來檢查輸入是否爲整數,然後檢查整數是否在最小值和最大值之間。我的問題是,如果用戶在提示後輸入另一個不正確的非整數值,我不知道如何檢查新值是否正確。這是方法,任何人都可以幫忙嗎?持續驗證整數
int checkInput(String input, int min, int max) {
Boolean isInteger = false;
Boolean inputAccepted = false;
int userInput = 0; //will be set later
while (!isInteger) {
try
{
userInput = Integer.parseInt(input);
}
catch (NumberFormatException e)
{
userInput = Integer.parseInt(JOptionPane.showInputDialog("Please enter only integers between " + min + " and "+ max + "."));
isInteger = true; //the problem here is that it assumes the user inputted a correct value after being prompted... what if they enter another incorrect value?
}
}
while (!inputAccepted) {
if (userInput < min || userInput > max)
{
userInput = Integer.parseInt(JOptionPane.showInputDialog("Please enter only integers between " + min + " and "+ max + "."));
}
else
{
inputAccepted = true;
}
}
return userInput;
}
也許你可以檢查用戶輸入的每個值後? – Lucas
這就是我想要做的,但我不熟悉try和catch語句,所以我不確定如何在第一次進行循環檢查時如何做到這一點。 – user3738313