import java.util.*;
public class test{
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
System.out.println("请输入18位的身份号码:");
String s="^[0-9]{17}([0-9]|x)";//正则表达式
String str=in.next();
while(!str.matches(s)){//用mathes方法匹配正则表达式,判断是否合法
System.out.println("输入错误,请重新输入:");
str=in.next();
}
System.out.println("生日:"+str.substring(6,10)+"年"+str.substring(10,12)+"月"+str.substring(12,14)+"日");
System.out.println(Integer.parseInt(str.substring(14,15))%2==0?"女":"男");
}
}
温馨提示:答案为网友推荐,仅供参考