早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求java程序.题目要求‘程序编完后输入某人身份证号后运行输出该人的出生日期,性别,年龄.’身份证倒数第二位是判别姓名的(1为男,2为女),求朋友帮忙可以在这个上改“publicclassTest{int

题目详情
求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
▼优质解答
答案和解析
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("性别:\t\t" + (gender == 2 ? "女" : "男"));
System.out.println("年龄:\t\t" + (Calendar.getInstance().get(Calendar.YEAR) - year));
}
}
------------------------------------------------------------------------------
运行结果:
输入身份证号码:******19700814**2*
---------------------------------------------
出生日期: 1970年8月14日
性别: 女
年龄: 41