测试你的身份证号码最后一位,校验码的生成方式
package com.inbuild;public class Shengfenzheng {/** * @param args */public static void main(String[] args) {String s="441621*******421";//前17位的String[] ss=s.split("");int sum =0;int end =0;System.out.println("ss.length=="+ss.length);for(int i=1;i<18;i++){Integer num =0;try{num=Integer.parseInt(ss[i]);System.out.println("num==="+num);}catch(NumberFormatException e){}switch (i){case 1:sum=sum+num*7;break;case 2:sum=sum+num*9;break;case 3:sum=sum+num*10;break;case 4:sum=sum+num*5;break;case 5:sum=sum+num*8;break;case 6:sum=sum+num*4;break;case 7:sum=sum+num*2;break;case 8:sum=sum+num*1;break;case 9:sum=sum+num*6;break;case 10:sum=sum+num*3;break;case 11:sum=sum+num*7;break;case 12:sum=sum+num*9;break;case 13:sum=sum+num*10;break;case 14:sum=sum+num*5;break;case 15:sum=sum+num*8;break;case 16:sum=sum+num*4;break;case 17:sum=sum+num*2;break;}System.out.println(sum);}end=sum%11;String endstring="";switch (end){case 0:endstring="1";break;case 1:endstring="0";break;case 2:endstring="X";break;case 3:endstring="9";break;case 4:endstring="8";break;case 5:endstring="7";break;case 6:endstring="6";break;case 7:endstring="5";break;case 8:endstring="4";break;case 9:endstring="3";break;case 10:endstring="2";break;}System.out.println("您的身份证最后一位是:"+endstring);}}?