1 /* 2 * Modeling a person in terms of five properties i.e. First Name, Last Name, Month, Day and Year of Birth 3 */ 4 5 package people; 6 7 public class Person implements PersonSpecification{ 8 // Instance Variables 9 private String firstName; 10 private String lastName; 11 private int Month, Day, Year; 12 13 //Non-Trivial Constructor 14 15 public Person(String name, int Month, int Day, int Year){ 16 String firstName = name.substring(0,name.indexOf(" ")); 17 String lastName = name.substring((name.indexOf(" ")+1), name.length()); 18 this.firstName = firstName; 19 this.lastName = lastName; 20 21 this.Month = Month; 22 this.Day = Day; 23 this.Year = Year; 24 25 } 26 public String toString(){ 27 return firstName +" " + lastName +","+" born " + Month + "/" + Day + "/" + Year; 28 } 29 30 31 @Override 32 public String firstName() { 33 return firstName; 34 } 35 36 @Override 37 public String lastName() { 38 return this.lastName; 39 } 40 41 @Override 42 public int month() { 43 return this.Month; 44 } 45 46 @Override 47 public int day() { 48 return this.Day; 49 } 50 51 @Override 52 public int year() { 53 return this.Year; 54 } 55 56 @Override 57 public String initials() { 58 return firstName.substring(0,1).toUpperCase() + lastName.substring(0,1).toUpperCase(); 59 } 60 61 @Override 62 public boolean isBoomer() { 63 return (Year > 1945 && Year < 1965); 64 } 65 } 66 67 68