1 /* 2 * Models a person in terms of five properties, first name, last name, month, day and year of birth 3 */ 4 5 6 package people; 7 8 public class Person implements PersonSpecification { 9 private String firstName; 10 private String lastName; 11 private int month; 12 private int day; 13 private int year; 14 15 public Person(String nameIn, int monthIn, int dayIn, int yearIn){ 16 int space = nameIn.indexOf(" "); 17 firstName = nameIn.substring(0, space); 18 lastName = nameIn.substring(space + 1, nameIn.length()); 19 month = monthIn; 20 day = dayIn; 21 year = yearIn; 22 } 23 24 public String toString(){ 25 return firstName + " " + lastName + ", born " + month + "/" + day + "/" + year; 26 } 27 28 @Override 29 public String firstName() { 30 return firstName; 31 } 32 33 @Override 34 public String lastName() { 35 return lastName; 36 } 37 38 @Override 39 public int month() { 40 return month; 41 } 42 43 @Override 44 public int day() { 45 return day; 46 } 47 48 @Override 49 public int year() { 50 return year; 51 } 52 53 @Override 54 public String initials() { 55 char first = firstName.charAt(0); 56 char last = lastName.charAt(0); 57 58 return String.valueOf(first + last); 59 } 60 61 @Override 62 public boolean isBoomer() { 63 return year >= 1946 & year <= 1964; 64 } 65 } 66