3 回答

TA貢獻(xiàn)1839條經(jīng)驗 獲得超15個贊
歡迎來到堆棧溢出。
您正好在正確的路徑上,但您需要了解異常 - 當(dāng)parseInt嘗試解析不是整數(shù)的值時,它會引發(fā)異常。在Java中,我們可以捕獲和異常并處理它(而不是讓它殺死程序的運行)。
對于您的情況,它看起來像這樣:
try {
int result = Integer.parseInt(value);
//Do your normal stuff as result is valid
}
catch (NumberFormatException e)
{
// Show your message "Please only enter numbers"
}
//Code continues from here in either case

TA貢獻(xiàn)1827條經(jīng)驗 獲得超8個贊
來自以下文檔:java.lang.Integer
Throws:
NumberFormatException - 如果字符串不包含可解析整數(shù)。
因此,只需捕獲該異常,您就會知道字符串不包含可解析整數(shù)。
int result;
try {
result = Integer.parseInt(value);
}
catch (NumberFormatException e) {
// value was not valid, handle here
}

TA貢獻(xiàn)1840條經(jīng)驗 獲得超5個贊
您可以使用StringUtils.isNumeric,如果你想添加一個第三方庫。
如果你的用例足夠簡單,我可能會這樣做:
int intValue;
String value = "";
value = input.nextLine();
try {
intValue = Integer.valueOf(value);
} catch (NumberFormatException e) {
System.out.println("Please print only numbers!");
}
添加回答
舉報