身份证信息查看
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("性别为:男");
}
}
}
错误
- 只截取一位字符时用char,我用了双引号即字符串的形式。
- 查字符对应的ASCII码表使用单引号表字符,如果使用了双引号会与0作拼接。