Person.java
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