/*这个也没什么大的功能,也没什么安全验证,只是对输入的身份证号码的长度进行了验证。
其他的功能可以自己添加。*/
import java.util.*;
import java.util.Scanner;
import java.text.*;
import java.util.Date; class Test02
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("请输入你的身份证号码:");
String s = input.next();
while(s.length()!=18) //输入个数判断,初步验证身份证号码的真假
{
System.out.println("你的输入有误,请重新输入!");
s = input.next(); }
// 通过String[]的substring方法来读取信息
String yy1 = s.substring(6,10); //出生的年份
String mm1 = s.substring(10,12); //出生的月份
String dd1 = s.substring(12,14); //出生的日期
System.out.println("你的生日为:");
String birthday = yy1.concat("-").concat(mm1).concat("-").concat(dd1);
//使用replace替换掉字符串中出现的0
System.out.println(mm1.replace("0","")+"月"+dd1.replace("0","")+"号");
System.out.println("你的出生日期:");
System.out.println(birthday);
//计算年龄
try
{
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd");
String s1 = sdf.format(date);
Date today = sdf.parse(s1);
/*parse方法可以自己查api,他就是将文档(此处是String)格式转成sdf(自己定义的日期格式)。*/
Date birth = sdf.parse(birthday);
System.out.println("你的年龄:");
System.out.println(today.getYear() - birth.getYear());
// System.out.println(today);
// System.out.println(today.getYear()); }
catch (Exception e)
{
System.out.println("a problem has happened!");
} System.out.println("Thank you!"); }
}

//由于版本的问题,在此处进行了异常处理

关于java中根据身份证求生日和年龄的问题的更多相关文章

  1. Java中校验身份证号合法性(真伪),获取出生日期、年龄、性别、籍贯

    开发过程中有用的身份证号的业务场景,那么校验身份证的合法性就很重要了,另外还有通过身份证获取出生日期.年龄.性别.籍贯等信息, 下面是本人在开发中用到的关于校验身份证真伪的工具类,可以直接拿来使用,非 ...

  2. 2013年6月19日星期三java中函数地址值传递

    今天代码审核时确认了一个问题,理解了java中string和stringbuffer赋值问题,看到一个帖子很好,摘录如下: 理解这两个例子需要分清实参和形参的区别,引用和对象的区别 第一个例子的内部执 ...

  3. Java中获取指定日为星期几及其他日期操作

    摘自:http://blog.csdn.net/cselmu9/article/details/8625530#t6 在开发中经常会使用到一些日期方面的操作,下面例子展示几个常用的操作. 1.取得指定 ...

  4. java 随机生成身份证代码

    import java.util.Calendar; import java.util.Collection; import java.util.HashMap; import java.util.I ...

  5. 在JAVA中记录日志的十个小建议

    JAVA日志管理既是一门科学,又是一门艺术.科学的部分是指了解写日志的工具以及其API,而选择日志的格式,消息的格式,日志记录的内容,哪种消息对应于哪一种日志级别,则完全是基于经验.从过去的实践证明, ...

  6. JAVA代码验证身份证信息

    java验证身份证信息代码 转自:http://www.blogjava.net/xylz/archive/2011/01/05/342330.html import java.util.Calend ...

  7. Java中2+2==5解读

    先来看一段程序,如下: package basic; import java.lang.reflect.Field; public class TestField { public static vo ...

  8. JAVA中获取当前系统时间及格式转换

    JAVA中获取当前系统时间   一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; publi ...

  9. Java中的夏令时问题

    因为在用C#做项目的时候被夏令时坑过一回,所以这次将在java中的时区转换信息做一下记录,很简单 SimpleDateFormat inputFormat = new SimpleDateFormat ...

随机推荐

  1. javascript sort 用法

    <html> <head> <title></title> <script type="text/javascript" sr ...

  2. Swift 流程控制

    import Foundation ...{ == { print(index) } } // 可选变量 类型后面加? var myName:String?="jikexueyuan&quo ...

  3. Ubuntu中安装编译并测试HTK语音识别库

    1.在网上看到首先必须确保电脑上安装了g++和libx11 g++ --version //检测g++版本 sudo apt-get install libx11-dev:i386 2.然后可从HTK ...

  4. Css 应用一

    Placeholder使用 CSS3里有相应的通用的对Placeholder提示信息美化的方法.你可以设置提示信息文字的颜色,透明度,背景色等. 为了最大化的兼容所有浏览器,给CSS里的placeho ...

  5. java练习-滚动文字

    <marquee direction="left" onMouseOver="this.scrollAmount=5" onMouseOut=" ...

  6. 较优H圈matlab实现

    大家好,我是小鸭酱,博客地址为:http://www.cnblogs.com/xiaoyajiang %解决完备图中的较优H圈 clc clear w = [ inf 6 1 8 3 1 ;...   ...

  7. “express不是内部或外部命令”解决办法

    由于安装的Express是最新版本4.13.1,4.x版本就需要安装express-generator.命令如下:npm install -g express-generator ps: 1.卸载: ...

  8. Java基础语法学习(1)switch...case

    switch...case的标准语法 switch(待选择的变量) { case 值1:语句1; break; case 值2:语句2: break; ....... case 值n:语句n; bre ...

  9. POJ3683 Falsita

    http://poj.org/problem?id=3683 思路:2-SAT,输出任意一组方案,O(m+n) #include<cstdio> #include<iostream& ...

  10. 资本助力转型 TCL攻守转换(转型、并购、过冬前一定要保留强大的战略预备队)

    吴侨发 9月份,TCL集团(3.92, 0.00, 0.00%)160多位高管启动四天戈壁行.在戈壁行第三天,30多公里的戈壁,差不多等于平路50公里,最后两只队伍走了13个小时.路途的艰辛几乎超过这 ...