身份证信息查找

jjhdbk / 2024-07-14 / 原文

身份证信息查看

public class 身份证信息查看 {
    public static void main(String[] args) {
        /*
        7-14位是出生年月日
        16位是性别
            ↓
        任务信息为:
        出生年月日:×××年××月××日
        性别:(男/女)

         */
        //1.定义一个字符串记录身份证
        String id = "321281202001011234";
        //2.截取年月日 字符串第一位是0索引
        String year = id.substring(6,10);
        String month = id.substring(10,12);
        String day = id.substring(12,14);
        //4.拼接
        System.out.println("出生年月日:"+ year +"年" + month + "月" + day +"日");

        //3.获取性别 只截取一位用char
        //技巧,如何把字符转换成数字
        char gender = id.charAt(16);//'3'---->3
        //查找ASCII表 此处是单引号表字符,如果使用了双引号会与0作拼接。
        //System.out.println('0'+0);
        int num = gender - 48; //字符与数字相减,字符会转换为整数(查表)
        if(num % 2 == 0){
            System.out.println("性别为:女");
        }else{
            System.out.println("性别为:男");
        }
    }
}

错误

  1. 只截取一位字符时用char,我用了双引号即字符串的形式。
  2. 查字符对应的ASCII码表使用单引号表字符,如果使用了双引号会与0作拼接。