class Person { private String name; private int age; public Person (String name, int age) { this.name = name; this.age = age; } // For fun, let's do a second version that init's age to a sentinel value public Person (String name) { this.name = name; this.age = -1; } public String getName() { return name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public boolean isOlder (Person p) { return (age > p.age); } public String toString() { return name + ", " + age; // The exact formatting was up to you } public boolean equals (Object o) { Person p = (Person) o; if (!this.name.equals(p.name)) return false; if (this.age != p.age) return false; return true; } public static void main (String[] args) { Person fullInit = new Person ("Greg", 33); System.out.println (fullInit); Person nameOnlyInit = new Person ("Greg"); System.out.println (nameOnlyInit); System.out.println (nameOnlyInit.getName() + ", " + nameOnlyInit.getAge()); if (fullInit.equals(nameOnlyInit)) System.out.println ("1st equals test: Equivalent -- Incorrect"); else System.out.println ("1st equals test: Not Equivalent -- Correct"); nameOnlyInit.setAge(fullInit.getAge()); System.out.println(nameOnlyInit); if (fullInit.equals(nameOnlyInit)) System.out.println ("2nd equals test: Equivalent -- Correct"); else System.out.println ("2nd equals test: Not Equivalent -- Incorrect"); Person matchesOnlyAge = new Person ("Jimbo", 33); System.out.println (matchesOnlyAge); if (fullInit.equals(matchesOnlyAge)) System.out.println ("3rd equals test: Equivalent -- Incorrect"); else System.out.println ("3rd equals test: Not Equivalent -- Correct"); Person younger = new Person ("Angie", 32); if (fullInit.isOlder(younger)) System.out.println ("1st isOlder test: Older -- Correct"); else System.out.println ("1st isOlder test: Not Older -- Inorrect"); if (younger.isOlder(fullInit)) System.out.println ("2nd isOlder test: Older -- Incorrect"); else System.out.println ("2nd isOlder test: Not Older -- Correct"); if (matchesOnlyAge.isOlder(fullInit)) System.out.println ("3rd isOlder test: Older -- Incorrect"); else System.out.println ("3rd isOlder test: Not Older -- Correct"); } }