charAt(0) 给出意外的输出
charAt(0) gives unexpected output
正在为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");
}
}
我错过了什么?
快乐的夏天
亲切的问候
String.charAt(0)
returns '3'
其 ASCII 码等于 51
。你应该这样写
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");
}
}
正在为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");
}
}
我错过了什么? 快乐的夏天 亲切的问候
String.charAt(0)
returns '3'
其 ASCII 码等于 51
。你应该这样写
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");
}
}