package pr02; public class Name implements Comparable { private String firstName; private String middleInitial; private String lastName; public Name(String first, String middle, String last) { firstName = first; middleInitial = middle; lastName = last; } public String getFname() { return firstName; } public void setFirstName(String first) { firstName = first; } public String getMiddleInitial() { return middleInitial; } public void setMiddleInitial(String middle) { middleInitial = middle; } public String getLastName() { return lastName; } public void setLastname(String last) { lastName = last; } public int compareTo(Object obj) { Name otherName = (Name)obj; if(lastName.compareTo(otherName.lastName) != 0) { return lastName.compareTo(otherName.lastName); } else if (firstName.compareTo(otherName.firstName) != 0) { return firstName.compareTo(otherName.firstName); } return middleInitial.compareTo(otherName.middleInitial); } public boolean equals(Object obj) { if (obj instanceof Name) return compareTo(obj) == 0; return false; } public String toString() { if (middleInitial.length() == 0) return lastName + ", " + firstName; return lastName + ", " + firstName + " " + middleInitial; } }