用于身份证号校验位的计算
import java.util.Scanner;
public class ID_card {
public static void main(String[] args) {
System.out.println("请输入需验证的身份证号码的前17位:");
Scanner scan=new Scanner(System.in);
int a=0;
int result=0;
int sum=0;
int id[]=new int[18];
int id_sum[]=new int[18];
int quan[]={0,7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1};
for(int i=1;i<18;i++){
System.out.print("身份证号码第"+i+"位:");
id[i]=scan.nextInt();
id_sum[i]=id[i]*quan[i];
}
for(int i=1;i<18;i++){
sum=id_sum[i]+sum;
}
a=sum%11;
if(a>2){
result=12-a;
}
else if(a==2){
result=Integer.parseInt("x");
}
else{
result=1-a;
}
System.out.print("身份证号码的最后一位校验位是 "+result);
}
}