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