字符串。IsDigit在整数Java上返回false而不是true
嗨,我是编程新手,所以我需要一些帮助。如果我需要一个正确的方法来做生日检查。例如,960214,其中96表示年份02表示月份,14表示日期,但生日是一个字符串。这就是我得到的:
private static boolean checkCorrect(String a) {
int year = Integer.parseInt(a.substring(0,2));
int month = Integer.parseInt(a.substring(2, 4));
int day = Integer.parseInt(a.substring(4, 6));
if (a.length() == 6 && Character.isDigit(year)) {
return true;
} else
return false;
}
现在我停在角色上。isDigit(year),因为它在应该返回true的地方返回false。我打印year只是为了看看结果是什么,96出来的结果就像上面的例子一样。我做错了什么
# 1 楼答案
注意:
如果我理解正确,您需要确保输入的字符串是一个数字。如果这是问题所在,则应显示以下代码
建议:
在解析整数之前,您应该检查它是否是一个数字,因为如果您立即解析它并且它无效,那么它将导致异常
代码:
输出:
输出(当“输入”为“xx0214”时):
# 2 楼答案
试试看here!
# 3 楼答案
性格。isDigit(year)只包含字符而不是数字。 性格isDigit('5')这将返回true