import java.util.Calendar;
import java.util.Scanner;
/**
*
根据用户输入的身份证号码,从字符串中提取用户的出生年月日,输出用户的生日信息。
要求:
身份证号码必须为18位或16位。
年龄范围在1900到当前日期之间。
月份必须在1~12之间
对应的日应该与当前月相符,如4月最多只有30天。注意判断闰年的2月有29天。
* @author 万星明
* @version 1.0
* @time
*/
public class Work5 {
static Scanner sc = new Scanner(System.in);
static Calendar c=Calendar.getInstance();
public static void main(String[] args) {
System.out.println("请输入身份证:");
String IDcard = sc.next();
IDcard(IDcard);
}
public static void IDcard(String IDcard) {
switch(IDcard.length()) {
case 18:
case 16:
String year = IDcard.substring(6, 10);
if(Integer.decode(year) <1900 && Integer.decode(year)>c.get(Calendar.YEAR))
System.out.println("年龄不合法");
String month = IDcard.substring(10,12);
if(Integer.decode(month)<1 && Integer.decode(month)>12)
System.out.println("身份证不合法");
String day = IDcard.substring(12,14);
c.set(Integer.decode(year) ,Integer.decode(month), 0);
if(Integer.decode(day)>c.get(Calendar.DAY_OF_MONTH))
System.out.println("身份证不合法");
System.out.println("尊贵的用户,您的生日为:"+year+"年"+month+"月"+day+"日");
break;
default:
System.out.println("身份证不合法");
break;
}
}
}
Java从身份证号码,提取用户的出生年月日,输出用户的生日信息。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 公司最近新入职了20名员工,已知每个员工的身份证号,现需要将员工的出生年月日统计出来,纳入公司的福利数据库,以便在...
- 表格中已有身份证号码,现在需要提取其中的生日信息。今天教的是第一个方法-数据分列。 步骤: 1.选中身份证号码的那...
- 今天来介绍一个比较快捷的方式来提取身份证号码里面的生日信息。 快捷键:Ctrl+E 这个快捷键是Excel 201...
- 这里讲解使用公式,用来从身份证号码里面提取生日信息。 公式一:MID函数&TEXT函数组合使用 在单元格内输入公式...