Person.java
1    package people;
2    
3    /* 
4    * This Java program will model a person in terms of the following 5 properties: 
5    * - First Name 
6    * - Last Name 
7    * - Birth Month 
8    * - Birthday 
9    * - Birth year 
10    */
11   
12   public class Person implements PersonSpecification {
13       private String firstName;
14       private String lastName;
15       private int month;
16       private int day;
17       private int year;
18   
19       public Person(String name, int month, int day, int year)
20       {
21           this.firstName = name.substring(0, name.indexOf(" "));
22           this.lastName = name.substring(name.indexOf(" ") + 1);
23           this.month = month;
24           this.day = day;
25           this.year = year;
26       }
27   
28       public String toString()
29       {
30           return firstName + " " + lastName + ", born " + month + "/" + day + "/" + year;
31       }
32   
33       @Override
34       public String firstName() {
35           return firstName;
36       }
37   
38       @Override
39       public String lastName() {
40           return lastName;
41       }
42   
43       @Override
44       public int month() {
45           return this.month;
46       }
47   
48       @Override
49       public int day() {
50           return this.day;
51       }
52   
53       @Override
54       public int year() {
55           return this.year;
56       }
57   
58       @Override
59       public String initials() {
60           char f = firstName.charAt(0);
61           char l = lastName.charAt(0);
62           return "" + f + l;
63       }
64   
65       @Override
66       public boolean isBoomer() {
67           return (year >= 1946 && year <= 1964);
68       }
69   }
70