/**
* 将15位转换为18位
* @param idCode 15位身份证号
* @return String 18位身份证号
*/
public String toEighteen(String idCode) {
idCode = idCode.substring(0, 6) + "19" + idCode.substring(6);//加入年份,变成17位
//计算校验位 begin
char[] Ai = idCode.toCharArray();
int[] Wi = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
char[] verifyCode = {'1','0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'};
int S = 0;
int Y;
for(int i = 0; i < Wi.length; i++){
S += (Ai[i] - '0') * Wi[i];
}
Y = S % 11;
//校验位计算结果verifyCode[Y] end
idCode += verifyCode[Y];
return idCode;
}