python输入身份证号码输出对应的出生年月日_Java从身份证号码,提取用户的出生年月日,输出用户的生日信息。...

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;

}

}

}

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值