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?"女":"男");
}
}