shenbean1.java~2~

来自「EJB写的身份证转换系统,可以从15位转成18位.」· JAVA~2~ 代码 · 共 69 行

JAVA~2~
69
字号
package changeshen;

public class ShenBean1 {

    public String convert(String id) {
        //String id = "320114670917031";
        String id1 = id.substring(0, 6);
        String id2 = id.substring(6, 15);
        String newid = id1 + "19" + id2;

        int intN = 0;
        int[] a = {2, 4, 8, 5, 10, 9, 7, 3, 6, 1, 2, 4, 8, 5, 10, 9, 7};
        for (int i = 0; i < 17; i++) {
            intN += Integer.parseInt(newid.substring(i, i + 1)) * a[16 - i];
        }
        int R = intN % 11;
        String T = null;
        switch (R) {
        case 0:
            T = "1";
            break;
        case 1:
            T = "0";
            break;
        case 2:
            T = "X";
            break;
        case 3:
            T = "9";
            break;
        case 4:
            T = "8";
            break;
        case 5:
            T = "7";
            break;
        case 6:
            T = "6";
            break;
        case 7:
            T = "5";
            break;
        case 8:
            T = "4";
            break;
        case 9:
            T = "3";
            break;
        case 10:
            T = "2";
            break;
        }
        System.out.println(newid);
        int N = Integer.parseInt("" + id.charAt(14));

        if (N % 2 == 1) {
            System.out.println("性别:男");
        } else {
            System.out.println("性别:女");
        }
        String Year = newid.substring(6, 10);
        String Month = newid.substring(10, 12);
        String Day = newid.substring(12, 14);
        System.out.println("出生日期:" + Year + "年" + Month + "月" + Day + "日");

        return id;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?