diff options
| author | mokha <mokha@cisco.com> | 2019-05-13 19:29:39 -0600 |
|---|---|---|
| committer | mokha <mokha@cisco.com> | 2019-05-13 19:29:39 -0600 |
| commit | a7169ed98d55988025aef538a184aef5854670b4 (patch) | |
| tree | 911e280e5b3d91cd223504a0ebadb30d72f80ed3 /src/Q1 | |
| parent | 1703953a677577f707777361e40ea4ee8f9aafbb (diff) | |
extract method to convert a name to an address book.
Diffstat (limited to 'src/Q1')
| -rw-r--r-- | src/Q1/AddressBook.java | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/Q1/AddressBook.java b/src/Q1/AddressBook.java index ad04a9a..66d364d 100644 --- a/src/Q1/AddressBook.java +++ b/src/Q1/AddressBook.java @@ -269,6 +269,27 @@ public class AddressBook implements Comparable<AddressBook> { } /** + * Converts a name to an Address Book. + * + * @param name the name to parse. + * @return an AddressBook instance. + */ + public static AddressBook parseFrom(String name) { + String[] parts = name.split(" "); + + switch (parts.length) { + case 1: + return new AddressBook(parts[0]); + case 2: + return new AddressBook(parts[0], "", parts[1]); + case 3: + return new AddressBook(parts[0], parts[1], parts[2]); + default: + return new AddressBook(); + } + } + + /** * Compares name1 with name2 and returns a string representation. Returns a negative value if * name1 is less than name2. Returns a positive value if name1 is greater than name2. Returns a * zero if name1 is equal to name2. @@ -278,7 +299,7 @@ public class AddressBook implements Comparable<AddressBook> { * @return string version of -1, 0, 1 */ public static String compareNames(String name1, String name2) { - return Integer.toString(name1.compareTo(name2)); + return Integer.toString(parseFrom(name1).compareTo(parseFrom(name2))); } /** |
