Latest Tutorials| Questions and Answers|Ask Questions?|Site Map



Home Answers Viewqa Date-Calendar how can you calculate you your age in daies??
Login         

View Questions and Answers by Category

Advertisements


 
Have Programming Question? Ask it here!
 
 
 


sh
how can you calculate you your age in daies??
5 Answer(s)      3 years and 11 months ago
Posted in : Date-Calendar


**hi,

I am beginner in java! can any one help me to write programm to calculate age in daies???**


Advertisement
View Answers

December 9, 2010 at 1:33 PM


Hi Friend,

Try the following code:

import java.util.*;

public class AgeInDays{
      public static void main(String[] args) throws Exception{
        Scanner input=new Scanner(System.in);
        System.out.print("Enter day of your date of birth: ");
        int day=input.nextInt();

        System.out.print("Enter month(in number) of your date of birth: ");
        int month=input.nextInt();

        System.out.print("Enter year of your date of birth: ");
        int year=input.nextInt();
        System.out.println();

        Calendar cal1 = Calendar.getInstance();
        Calendar cal2 = Calendar.getInstance();

        cal1.set(year, month, day);
        cal2.set(2010, 12, 9);

        long milis1 = cal1.getTimeInMillis();
        long milis2 = cal2.getTimeInMillis();

        long diff = milis2 - milis1;
        long diffDays = diff / (24 * 60 * 60 * 1000);
        System.out.println("Your Age is: " + diffDays + " days.");
            }
}

Hope that the above code will be helpful for you.

Thanks



December 9, 2010 at 11:23 PM


thanks alot but how can we cheach if user enter wrong input??

all the best,,,



December 9, 2010 at 11:29 PM


why you use (24 * 60 * 60 * 1000) each number is for what??



December 11, 2010 at 3:59 PM


Hi Friend,

Try this:

import java.util.*;

public class AgeInDays{
      public static void main(String[] args) throws Exception{
        Scanner input=new Scanner(System.in);
        System.out.print("Enter day of your date of birth: ");
        int day=input.nextInt();
        while(day>31){
        if(day<1||day>31){
        System.out.println("Re-Enter day. It should not exceeds 31!");
        day=input.nextInt();
        }
        }

        System.out.print("Enter month(in number) of your date of birth: ");
        int month=input.nextInt();
        while(month>12){
        if(month<1||month>12){
        System.out.println("Re-Enter month. It should not exceeds 12!");
        month=input.nextInt();
        }
        }

        System.out.print("Enter year of your date of birth: ");
        int year=input.nextInt();
        System.out.println();

        Calendar cal1 = Calendar.getInstance();
        Calendar cal2 = Calendar.getInstance();

        cal1.set(year, month, day);
        cal2.set(2010, 12, 9);

        long milis1 = cal1.getTimeInMillis();
        long milis2 = cal2.getTimeInMillis();

        long diff = milis2 - milis1;
        long diffDays = diff / (24 * 60 * 60 * 1000);
        System.out.println("Your Age is: " + diffDays + " days.");
            }
}

The 24 * 60 * 60 * 1000 helps in converting the milliseconds in a number of days.

Thanks



December 14, 2010 at 2:56 PM


hi; i solve it with this code ... i hope it will help others

import java.util.*; public class AgeInDays { public static void main(String[] args) throws Exception { Calendar cd= Calendar.getInstance();

        Scanner input=new Scanner(System.in);

System.out.print("Enter year of your date of birth: "); int year=input.nextInt(); if(year > cd.get(Calendar.YEAR)) {

                            System.out.print("Invalid date of birth.");
                            System.exit(0);
                        }

      System.out.print("Enter month(in number) of your date of birth: ");
         int month=input.nextInt();

            if(month < 1 || month > 12)
            {
              System.out.print("Please enter monthe between 1 to 12.");
           System.exit(0);
            }

         System.out.print("Enter day of your date of birth: ");
       int day=input.nextInt();

       if( month == 2)
       {
        System.out.print("Please enter day between 1 to 29.");
       }
        else      if(month == 1 || month == 3 || month == 5 || month == 7 ||month == 8 || month == 10 || month == 12)
                {
                       if(day > 31 || day < 0)
                        {
                         System.out.print("Please enter day between 1 to 31.");
                         System.exit(0);
                        }
               }
                  else if(month == 4 || month == 6 || month == 9 || month == 11)
                    {
                       if(day > 30 || day < 0)
                        {
                               System.out.print("Please enter day between 1 to 31.");
                               System.exit(0);
                        }
                    }
                     else{
                         if(new GregorianCalendar().isLeapYear(year))
                            {
                               if(day < 0 || day > 30)
                                {
                                 System.out.print("Please enter day between 1 to 29.");
                                 System.exit(0);
                               }
                       }
    else if(day < 0 || day > 29){
      System.out.print("Please enter day between 1 to 28.");
      System.exit(0);
    }
  }
                            System.out.println();






      int difmonth=cd.get(Calendar.MONTH)-month;
      int daymonth=difmonth*30;
      int difday=cd.get(Calendar.DAY_OF_MONTH)-day;
      int difyear=cd.get(Calendar.YEAR)-year;
      int age= (365*difyear)+difday+daymonth ;



System.out.println("Your Age is: " +age + " day");

}

}



Related Tutorials/Questions & Answers:
Advertisements
 

 

 

DMCA.com