
public class Name implements Comparable<Name>{
	String first;
	String last;
	
	public Name(String name) {
		split(name);
	}
	
	private void split(String s) {
		s = s.trim();
		int i = s.lastIndexOf( ' ' );
		if (i == -1) {
			first = "";
			last = s;
		}
		else {
			first = s.substring(0, i);
			last = s.substring(i+1);
		}
	}
	
	// returns -1 if this<name, 1 if this > name, 0 if this == name
	public int compareTo(Name name) {
		int compareLast = last.compareToIgnoreCase(name.last);
		if (compareLast < 0)
			return -1;
		else if (compareLast > 0 )
			return 1;
		else return first.compareToIgnoreCase(name.first);
	}
	
	
	public String toString() {
		if (first.length() == 0)
			return last;
		else
			return String.format( "%s %s", first, last);
	}

}
