【发布时间】:2021-07-06 11:47:55
【问题描述】:
为 Java 做一些暑假练习,我正在尝试验证社会保障(针对我的国家)
charAt(0) 对我来说没有什么好处 给定社会保障“300198”,它现在打印“错误1”。
public void authenticateCpr(Member member){
if (member.getCpr().charAt(0) > 3) {
System.out.println("Error 1");
}
if (member.getCpr().charAt(0) == 3 && member.getCpr().charAt(1) > 9){
System.out.println("Error 2");
}
}
我错过了什么? 快乐的夏天 亲切的问候
【问题讨论】:
-
请使用调试器单步调试您的代码并查看 charAt(0) 的值。考虑一下。
-
charAt 的返回类型是 char 而不是 int。因此,您必须将 char 更改为 int,然后进行比较。
-
如果您的意图是检查“第一个字符是大于 3 的数字”,那么您做错了。你在做什么,输入,正是
if 51 > 3,也就是true,