ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel
  • »
  • Technology»
  • Computers & Software»
  • Computer Science & Programming»
  • Programming Languages

Java Source Code Example Determine Person's Salutation and Current Age

Updated on November 1, 2013

Get A Website Plus a Free Domain Name in Just 1 Hour!

Bring the new technology in your hands! Share your skills, improve and impress. Get Your Own Website and a Free Domain Name Here!

Below is the java source code to determine Person's salutation and current age. This program is a good example of Object Oriented Programming, I declared public methods and private variables in the class here. It also has default constructor, constructors, setters and getters or sometimes called as (mutators and accessors) as well as String type methods. Try this java source code that will determine the person's salutation and age.

Java Source Code: Program that will Determine the Person's Salutation and Current Age


//java class


public class Person
{
    private String fName;
    private String lName;
    private String sex;
    
    private int year;
    private int month;
    private int day;
    

    public Person()
    {
        fName="";
        lName="";
        sex="";
        
        year=0;
        month=0;
        day=0;
    }
    public Person(String fName1, String lName1, String gender)
    {
        fName=fName1;
        lName=lName1;
        sex=gender;
       
    }
    public String getFName()
    {
        return fName;
    }
    public void setFName(String fName1)
    {
        fName=fName1;
    }
    public String getLName()
    {
        return lName;
    }
    public void setLName(String lName1)
    {
        lName=lName1;
    }
    public String getSex()
    {
        return sex;
    }
    public void setSex(String gender)
    {
        sex=gender;
    }
    public int getYear()
    {
        return year;
    }
    public void setYear(int year1)
    {
        year=year1;
    }
    public int getMonth()
    {
        return month;
    }
    public void setMonth(int month1)
    {
        month=month1;
    }
    public int getDay()
    {
        return day;
    }
    public void setDat(int day1)
    {
        day=day1;
    }
    public String getFullName()
    {
        if(sex.equals("f"))
        {
            return "Ms. "+ fName + " "+lName;
         
        }
        else
        {
           return "Mr. "+ fName +" "+lName;
        }
    }
    public String getAge(int cYear, int cMonth, int cDay, int bYear, int bMonth, int bDay)
    {
        
        String result="";
        int tYear;
        if((cYear>bYear) && (cMonth==bMonth))
        {
            if(cDay==bDay)
            {
               tYear=cYear-bYear;
               result= "Happy " + tYear + "th birthday!";
            }
            else if(cDay>bDay)
            {
               tYear=cYear-bYear;
               result= "Current Age: " + tYear + " years old.";
            }
            else if(cDay<bDay)
            {
                tYear=(cYear-1)-bYear;
               result= "Current Age: " + tYear + " years old.";
            }
        }
        else if((cYear > bYear) && (cMonth > bMonth))
        {
            tYear=cYear-bYear;
            result= "Current Age: " + tYear + " years old.";
        }
        else if((cYear > bYear) && (cMonth < bMonth))
        {
            tYear=(cYear-1)-bYear;
            result= "Current Age: " + tYear + " years old.";
        }
        else if(cYear<bYear)
        {
            result= "Wrong Input. Age Calculation Failed.";
        }
        return result;

    }
            
}


//main class


import java.util.Scanner;


public class Main
{

    
    public static void main(String[] args)
    {

        Scanner input = new Scanner(System.in);

        String fName, lName, gender;
        int cYear, cMonth, cDay;
        int bYear, bMonth, bDay;


        System.out.print("Enter you first name: ");
        fName= input.nextLine();

        System.out.print("Enter you last name: ");
        lName= input.nextLine();

        System.out.print("Enter you Gender: ");
        gender= input.nextLine();


        System.out.print("Please Enter current Date: ");
        cDay= input.nextInt();

        System.out.print("Please Enter current Month: ");
        cMonth= input.nextInt();

        System.out.print("Please Enter current Year: ");
        cYear= input.nextInt();

        System.out.println("-----BIRTHDAY INFORMATION-----");
        System.out.print("Please Enter your Birth Date: ");
        bDay= input.nextInt();

        System.out.print("Please Enter your Birth Month: ");
        bMonth= input.nextInt();

        System.out.print("Please Enter your Birth Year: ");
        bYear= input.nextInt();

        Person access = new Person(fName, lName, gender);
        System.out.println("Name: "+access.getFullName());
        System.out.println(access.getAge(cYear, cMonth, cDay, bYear, bMonth, bDay));
        

    }

}

If you observed, there were many if-else statements in the method getAge, that is because there are lots of possibilities in the user's input. It is really needed to evaluate and set limitations to each possibility for the program to rightly tell the current age of the person. Below are the sample outputs of the above program.

Sample Output 1:

Enter you first name: Johny

Enter you last name: Smith

Enter you Gender: M

Please Enter current Date: 3

Please Enter current Month: 02

Please Enter current Year: 2012


-----BIRTHDAY INFORMATION-----


Please Enter your Birth Date: 3

Please Enter your Birth Month: 02

Please Enter your Birth Year: 1989


Name: Mr. Johny Smith

Happy 23th birthday!

Sample Output 2:

Enter you first name: Angela

Enter you last name: Brown

Enter you Gender: f

Please Enter current Date: 03

Please Enter current Month: 02

Please Enter current Year: 2012

-----BIRTHDAY INFORMATION-----

Please Enter your Birth Date: 10

Please Enter your Birth Month: 02

Please Enter your Birth Year: 1989

Name: Ms. Angela Brown

Current Age: 22 years old.

Sample Output 3:

Enter you first name: Harry

Enter you last name: Potter

Enter you Gender: M

Please Enter current Date: 03

Please Enter current Month: 02

Please Enter current Year: 2012

-----BIRTHDAY INFORMATION-----

Please Enter your Birth Date: 01

Please Enter your Birth Month: 02

Please Enter your Birth Year: 1989

Name: Mr. Harry Potter

Current Age: 23 years old.

Sample Output 4:

Enter you first name: Baby

Enter you last name: N'd Womb

Enter you Gender: M

Please Enter current Date: 02

Please Enter current Month: 02

Please Enter current Year: 2012

-----BIRTHDAY INFORMATION-----

Please Enter your Birth Date: 05

Please Enter your Birth Month: 02

Please Enter your Birth Year: 2012

Name: Mr. Baby N'd Womb

Wrong Input. Age Calculation Failed. Try again!

Note: You can shorten the program by using the java predefined function on calendar, it will directly get the information for the current day, month and year that are set on your computer instead of getting the information directly from the user.

Comments

    0 of 8192 characters used
    Post Comment

    • profile image

      Leafar 3 years ago

      I have errors, when javac Main.java

      Main.java:139: error: class, interface, or enum expected

      import java.util.Scanner;

      ^

      1 error

      Please help, I use Debian 7 and the name of the file is main.java

    • aisha91 profile image
      Author

      Rasna Aisha 4 years ago from Manila, Philippines

      hi nong,

      You and neng are the same person? hah, you have the same IP address. :)

    • aisha91 profile image
      Author

      Rasna Aisha 4 years ago from Manila, Philippines

      hi neng,

      Glad it works on you. LoL, I appreciate your comment. Come back again :D

    • profile image

      nong 4 years ago

      neng : banar tah tu.. its very helpful aisha :)

    • profile image

      neng 4 years ago

      its working bah...pandai u ani membuat aisha. lol

    • profile image

      ROHIT khairnar 4 years ago

      Nice customer satisfaction..............