public static void main(String[] args) {
int[] intArr = new int[]{7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
String[] strArr = new String[]{"1", "0", "X","9", "8", "7", "6", "5","4", "3", "2"};
String idCard = "43072319870723151";
int sum1 = 0;
for(int i=0;i<intArr.length;i++){
sum1 += intArr[i]*Integer.parseInt(String.valueOf(idCard.charAt(i)));
}
System.out.println("和---sum1:"+sum1);
int num2 = sum1%11;
System.out.println("余数---num2:"+num2);
System.out.println("第18位:"+strArr[num2]);
}
目前身份证号基本都是18位数,此案例只是针对于18为的证件号简单校验,满足基本需求