3 回答
TA贡献1839条经验 获得超15个赞
欢迎来到堆栈溢出。
您正好在正确的路径上,但您需要了解异常 - 当parseInt尝试解析不是整数的值时,它会引发异常。在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贡献1827条经验 获得超7个赞
来自以下文档:java.lang.Integer
Throws:
NumberFormatException - 如果字符串不包含可解析整数。
因此,只需捕获该异常,您就会知道字符串不包含可解析整数。
int result;
try {
result = Integer.parseInt(value);
}
catch (NumberFormatException e) {
// value was not valid, handle here
}
TA贡献1840条经验 获得超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!");
}
添加回答
举报