求java程序.题目要求‘程序编完后输入某人身份证号后运行输出该人的出生日期,性别,年龄.’

求java程序.题目要求‘程序编完后输入某人身份证号后运行输出该人的出生日期,性别,年龄.’
身份证倒数第二位是判别姓名的(1为男,2为女),求朋友帮忙
可以在这个上改“ public class Test {
int i, n = 0;
public String test(String a) {
int age = 0;// 年龄
String brithday = "";// 生日
if (a.length() < 18) {
return "输入的身份证号码有误";
}
brithday = a.substring(10, 14);
age = 2010 - Integer.parseInt(a.substring(6, 10));
return "年龄为:" + age + " 生日为:" + brithday;
}
public static void main(String args[]) {
Test t = new Test();
String result = t.test("37022119810518028X");
System.out.println(result);
}
}”
结果:
年龄为:29 生日为:0518
cf3h 1年前 已收到1个回答 举报

很喜欢菜菜 幼苗

共回答了11个问题采纳率:100% 举报

import java.util.Scanner;
import java.util.Calendar;
public class PersonalInfo {
public static void main (String args[]) {
System.out.print("输入身份证号码:");
Scanner snr = new Scanner(System.in);
String id = snr.nextLine();
int year = Integer.parseInt(id.substring(6, 10));
int month = Integer.parseInt(id.substring(10, 12));
int day = Integer.parseInt(id.substring(12, 14));
int gender = Integer.parseInt(id.substring(16, 17));
System.out.println("---------------------------------------------");
System.out.println("出生日期:t" + year + "年" + month + "月" + day + "日");
System.out.println("性别:tt" + (gender == 2 ? "女" : "男"));
System.out.println("年龄:tt" + (Calendar.getInstance().get(Calendar.YEAR) - year));
}
}
------------------------------------------------------------------------------
运行结果:
输入身份证号码:******19700814**2*
---------------------------------------------
出生日期: 1970年8月14日
性别: 女
年龄: 41

1年前

7
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.042 s. - webmaster@yulucn.com