用户输入生日计算年龄

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class shengri {
    public static void main(String[] args) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        Scanner s=new Scanner(System.in);
        System.out.println("请输入你的生日");
        String str=s.next();
            try {
                Date birth=sdf.parse(str);
             Calendar c=Calendar.getInstance();
                c.setTime(birth);
                Calendar now=Calendar.getInstance();
        int yearnow=now.get(Calendar.YEAR);
        int monthNow = now.get(Calendar.MONTH) + 1;
        int daynow =now.get(Calendar.DAY_OF_MONTH);        
                
        int yearBirth = c.get(Calendar.YEAR);
        int monthBirth = c.get(Calendar.MONTH) + 1;
        int dayBirth = c.get(Calendar.DAY_OF_MONTH);        
        int age = yearnow - yearBirth;
        if (monthNow <= monthBirth)  {
            if (monthNow == monthBirth) {
                if (daynow < dayBirth) {
                    age--;
                }
            } else {    
                age--;
            }
        }
    System.out.println("你的年龄是:"+age);
            } catch (ParseException e) {
                
                e.printStackTrace();
            }

    }

}

 

posted @ 2017-05-04 15:28  苏轼的红烧肉  阅读(310)  评论(0编辑  收藏  举报