Design a Java class to calculate the age based on a date of birth. An example of
ID: 3652410 • Letter: D
Question
Design a Java class to calculate the age based on a date of birth.An example of what I need it to do
accept input: 02/15/1985
2 month
15 date
1985 year
age as of today
2012 - 1985
= 27
Here's what I have so far
public class calAge
{
private String DoB;
private int age;
public CalAge(){
????}
public void setAge(){
????}
Explanation / Answer
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Scanner; public class CalAge { String dob; int dobDate; int dobMonth; int dobYear; int age; CalAge() { System.out.println("Enter the date in (dd/mm/yyyy) format"); Scanner input = new Scanner(System.in); dob = input.nextLine(); if (dob.length() != 10) { System.out.println("Entered Wrong Format"); } else { dobDate = (Character.getNumericValue(dob.charAt(0)) * 10) + (Character.getNumericValue(dob.charAt(1))); dobMonth = (Character.getNumericValue(dob.charAt(3)) * 10) + (Character.getNumericValue(dob.charAt(4))); dobYear = (Character.getNumericValue(dob.charAt(6)) * 1000) + (Character.getNumericValue(dob.charAt(7)) * 100) + (Character.getNumericValue(dob.charAt(8)) * 10) + (Character.getNumericValue(dob.charAt(9))); } } void setAge() { Calendar currentDate = Calendar.getInstance(); int day = currentDate.get(Calendar.DATE); int month = currentDate.get(Calendar.MONTH) + 1; int year = currentDate.get(Calendar.YEAR); age = year - dobYear; if (dobMonth - month > 0 || dobMonth - month == 0) { age = age - 1; } System.out.println("Date is :" + dobDate); System.out.println("Month is :" + dobMonth); System.out.println("Year is :" + dobYear); System.out.println("Age is :" + age); } public static void main(String[] args) { CalAge c1 = new CalAge(); c1.setAge(); } }