【Java算法研究一】18位身份证号码校验码的算法

public static char doVerify(String id)   
    {   
        char pszSrc[]=id.toCharArray();   
        int iS = 0;   
        int iW[]={7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};   
        char szVerCode[] = new char[]{'1','0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'};   
        int i;   
        for(i=0;i<17;i++)   
        {   
            iS += (int)(pszSrc[i]-'0') * iW[i];   
        }   
        int iY = iS%11;   
        return szVerCode[iY];   
    }  

 

你可能感兴趣的:(java,算法)