问题描述
- 输入
身份证号输入:123456200101011212
今年是哪一年:2021
- 输出
该人的性别为:男性
出生年月为:2001年01月01日
年龄为:20周岁
解题思想
- 获取信息
- 信息位置
- 获取方法
- substring()(获取新的字符串)
substring()方法连接
String year = (String) id.subSequence(6, 10);
String month = (String) id.subSequence(10, 12);
String day = (String) id.subSequence(12, 14);
String sex = (String) id.subSequence(16, 17);
- 将字符串转变成整形 Integer.parseInt()
我们会在计算周岁、判断性别的时候,用到加减,所以须将字符串变成整形
int y = Integer.parseInt(year);
int s = Integer.parseInt(sex);
完整代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入身份证号:");
String id = sc.next();
System.out.print("今年是那一年:");
int n=sc.nextInt();
String year = (String) id.subSequence(6, 10);
String month = (String) id.subSequence(10, 12);
String day = (String) id.subSequence(12, 14);
String sex = (String) id.subSequence(16, 17);
int y = Integer.parseInt(year);
int s = Integer.parseInt(sex);
System.out.print("该人的性别为:");
if (s % 2 == 0) {
System.out.println("女性");
} else {
System.out.println("男性");
}
System.out.println("出生年月为:" + year + "年" + month + "月" + day + "日");
System.out.println("年龄为:" + (n - y) + "周岁");
}
}