public class Ic {
public static String get18Ic(String identityCard) {
String retId = "";
String id17 = "";
int sum = 0;
int y = 0;
int[] wf = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };
String[] cc = { "1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2" };
if (identityCard.length() != 15) {
return identityCard;
}
id17 = identityCard.substring(0, 6) + "19" + identityCard.substring(6);
for (int i = 0; i < 17; i++) {
sum = sum + Integer.valueOf(id17.substring(i, i + 1)) * wf[i];
}
y = sum % 11;
retId = id17 + cc[y];
return retId;
}
public static void main(String[] args) {
// 例子 65463463456
System.out.println(get18Ic("4654646"));
// 结果 45646466464
}
}
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/183770.html原文链接:https://javaforall.cn