/*這個也沒什么大的功能,也沒什么安全驗證,只是對輸入的身份證號碼的長度進行了驗證。
其他的功能可以自己添加。*/
import java.util.*;
import java.util.Scanner;
import java.text.*;
import java.util.Date;
class Test02
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("請輸入你的身份證號碼:");
String s = input.next();
while(s.length()!=18) //輸入個數判斷,初步驗證身份證號碼的真假
{
System.out.println("你的輸入有誤,請重新輸入!");
s = input.next();
}
// 通過String[]的substring方法來讀取信息
String yy1 = s.substring(6,10); //出生的年份
String mm1 = s.substring(10,12); //出生的月份
String dd1 = s.substring(12,14); //出生的日期
System.out.println("你的生日為:");
String birthday = yy1.concat("-").concat(mm1).concat("-").concat(dd1);
//使用replace替換掉字符串中出現的0
System.out.println(mm1.replace("0","")+"月"+dd1.replace("0","")+"號");
System.out.println("你的出生日期:");
System.out.println(birthday);
//計算年齡
try
{
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd");
String s1 = sdf.format(date);
Date today = sdf.parse(s1);
/*parse方法可以自己查api,他就是將文檔(此處是String)格式轉成sdf(自己定義的日期格式)。*/
Date birth = sdf.parse(birthday);
System.out.println("你的年齡:");
System.out.println(today.getYear() - birth.getYear());
// System.out.println(today);
// System.out.println(today.getYear());
}
catch (Exception e)
{
System.out.println("a problem has happened!");
}
System.out.println("Thank you!");
}
}
//由於版本的問題,在此處進行了異常處理