1 /* 2 * Model a Person in terms of the five properties 3 * - First Name (String) 4 * - Last Name (String) 5 * - Month of Birth (int) 6 * - Day of Birth (int) 7 * - Year of Birth (int) 8 */ 9 10 package people; 11 12 import javax.naming.Name; 13 import java.lang.module.FindException; 14 15 public class Person implements PersonSpecification { 16 17 //establish instance variables 18 private String firstName; 19 private String lastName; 20 private int month; 21 private int day; 22 private int year; 23 24 //define a constructor 25 public Person(String Name, int month, int day, int year) { 26 //first and last name 27 int index = Name.indexOf(" "); 28 this.firstName = Name.substring(0, index); 29 this.lastName = Name.substring(index+1); 30 //birthday 31 this.month = month; 32 this.day = day; 33 this.year = year; 34 } 35 public String toString() { 36 String string = firstName + " " + lastName + ", born " + month + "/" + day + "/" + year; 37 return string; 38 } 39 40 41 @Override 42 public String firstName() { 43 return this.firstName; 44 } 45 46 @Override 47 public String lastName() { 48 return this.lastName; 49 } 50 51 @Override 52 public int month() { 53 return this.month; 54 } 55 56 @Override 57 public int day() { 58 return this.day; 59 } 60 61 @Override 62 public int year() { 63 return this.year; 64 } 65 66 @Override 67 public String initials() { 68 String f = firstName.substring(0,1); 69 String l = lastName.substring(0,1); 70 return f+l; 71 } 72 73 @Override 74 public boolean isBoomer() { 75 if ( year >= 1946 & year <= 1965) { 76 return true; 77 } 78 return false; 79 } 80 81 @Override 82 public String detectBoomer() { 83 if ( year >= 1946 & year <= 1965) { 84 return "Boomer Detected"; 85 } 86 return "No Boomer Detected"; 87 } 88 } 89