java编程输入的身份证号码,自动获取输出打印你的出身年月日、年龄、性别;
时间: 2024-06-09 18:12:37 浏览: 87
好的,我能帮您解决如下问题:
您可以采用Java内置的SimpleDateFormat来解析身份证号码中的出生日期。您可以编写以下代码实现该功能:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class IdCardInfoUtils {
/**
* 根据身份证号码获取出生日期、年龄、性别
*/
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String idNum = br.readLine().trim();
String birth = idNum.substring(6, 14);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Date birthDate = sdf.parse(birth);
Calendar cal = Calendar.getInstance();
int birthYear = cal.get(Calendar.YEAR);
cal.setTime(birthDate);
int year = cal.get(Calendar.YEAR);
int age = birthYear - year;
int month = cal.get(Calendar.MONTH) + 1;
int day = cal.get(Calendar.DAY_OF_MONTH);
String gender = (Integer.parseInt(idNum.charAt(16) + "") % 2 == 0) ? "女" : "男";
System.out.println("您的出生日期为:" + year + "年" + month + "月" + day + "日");
System.out.println("您的年龄为:" + age + "岁");
System.out.println("您的性别为:" + gender);
}
}
输入您的身份证号码,即可获取出生日期、年龄、性别。如果没有出生日期、年龄、性别等相关信息,将无法正确获取输出。
阅读全文