if(a.length()%1==0)
System.out.println(“这是一位男士的身份证号码”);
你的代码不是取17位进行判断的。
public class Main {
public static void main(String[] args) {
String number="362525199902085632";
int num=number.charAt(16)-'0';
if(num%2==0){
System.out.println("这是一位女士的身份证号码");
}else{
System.out.println("这是一位男士的身份证号码");
}
}
}
如果a是身份证号码
if((a/10%10)%2==1)System.out.println(“这是一位男士的身份证号码”);
if((a.charAt(16) - '0')%2==1)
System.out.println(“这是一位男士的身份证号码”);
public class Test<T> {
static void checkGender(String number) {
boolean isMan;
if (number.length() == 15) {
isMan = (number.charAt(14) - '0') % 2 == 1;
} else if (number.length() == 18) {
isMan = (number.charAt(16) - '0') % 2 == 1;
} else {
System.out.println("身份证号格式错误!");
return;
}
System.out.println("这是一位" + (isMan ? "男" : "女") + "士的身份证号码");
}
public static void main(String[] args) {
checkGender("430303198812122222");
checkGender("430303198812122232");
checkGender("430303198812122272");
checkGender("420721910403583");
checkGender("420721910403588");
}
}
测试输出示例:
身份证最后一位如果是0123456789你就直接用数字判断,n+1对2求余为0则为男,否则为女。
如果最后一位是x则是10为女。