JAVAは身分証番号を通じて身分、年月日、性別、検査コード情報を取得します。

4752 ワード

簡単なケースです。つまり各文字を取得して比較したいです。数字をバイトに変換して直接判断します。
構想2は配列記憶文字を通して、抽出して比較します。
ここは直接バイトに変換して個人の感覚を操作するのがもっと簡単です。
直接コードを貼る
package comp.black
import java.util.Iterator;import java.util.Scanner;
public class demo 2{public static void main(String[]args){
    demo2 demo = new demo2();
    String num = demo.input();
    boolean register = demo.register(num);

    while (register) {
        num = demo.input();
        register = demo.register(num);
    }

    char[] fuzhi = demo.fuzhi(num);

    //     
    demo.pdsf(fuzhi);

}

// 1
private String input() {
    System.out.println("        :");
    Scanner input = new Scanner(System.in);
    String num = input.next();
    return num;
}

// 2
private boolean register(String num) {
    if (num.length() > 18 || num.length() < 15) {
        System.out.println("        ");
        return true;
    } else {
        return false;
    }

}

// 3
private char[] fuzhi(String num) {
    char[] sfz = new char[18];
    for (int i = 0; i < num.length(); i++) {
        sfz[i] = num.charAt(i);
    }
    return sfz;
}

// 4
private void pdsf(char[] num) {
    char s1 = num[0];
    char s2 = num[1];
    String s = s1 + "" + s2;
    switch (s) {
    case "11":
        System.out.println("   ");
        break;
    case "12":
        System.out.println("   ");
        break;
    case "13":
        System.out.println("   ");
        break;
    case "14":
        System.out.println("   ");
        break;
    case "15":
        System.out.println("      ");
        break;
    case "21":
        System.out.println("   ");
        break;
    case "22":
        System.out.println("   ");
        break;
    case "23":
        System.out.println("    ");
        break;
    case "31":
        System.out.println("   ");
        break;
    case "32":
        System.out.println("   ");
        break;
    case "33":
        System.out.println("   ");
        break;
    case "34":
        System.out.println("   ");
        break;
    case "35":
        System.out.println("   ");
        break;
    case "36":
        System.out.println("   ");
        break;
    case "37":
        System.out.println("   ");
        break;
    case "41":
        System.out.println("   ");
        break;
    case "42":
        System.out.println("   ");
        break;
    case "43":
        System.out.println("   ");
        break;
    case "44":
        System.out.println("   ");
        break;
    case "45":
        System.out.println("       ");
        break;
    case "46":
        System.out.println("   ");
        break;
    case "50":
        System.out.println("   ");
        break;
    case "51":
        System.out.println("   ");
        break;
    case "52":
        System.out.println("   ");
        break;
    case "53":
        System.out.println("   ");
        break;
    case "54":
        System.out.println("     ");
        break;
    case "61":
        System.out.println("   ");
        break;
    case "62":
        System.out.println("   ");
        break;
    case "63":
        System.out.println("   ");
        break;
    case "64":
        System.out.println("       ");
        break;
    case "65":
        System.out.println("        "); 
    default:
        System.out.println("     ");
        break;
    }

    char s3=num[16];
    if (s3%2==0) {
        System.out.println("    ");
    }else 
    {
        System.out.println("    ");
    }


    String sex=num[6]+""+num[7]+""+num[8]+""+num[9]+""+num[10]+""+num[11]+""+num[12]+""+num[13];
    System.out.println("     "+num[6]+""+num[7]+""+num[8]+""+num[9]+" "+num[10]+""+num[11]+" "+num[12]+""+num[13]+" ");

    int a[]=new int[18];
    for (int i = 0; i < num.length; i++) {
        String sss=String.valueOf(num[i]);
        int aaa=Integer.parseInt(sss);
        a[i]=aaa;
    }

    int sum=a[0]*7+a[1]*9+a[2]*10+a[3]*5+a[4]*8+a[5]*4+a[6]*2+a[7]*1+a[8]*6+a[9]*3+a[10]*7+a[11]*9+a[12]*10+a[13]*5+a[14]*8+a[15]*4+a[16]*2;
    int model=sum%11;
    System.out.println("    "+model);


}
)