summaryrefslogtreecommitdiff
path: root/src/Q1
diff options
context:
space:
mode:
authormokha <mokha@cisco.com>2019-05-13 19:29:39 -0600
committermokha <mokha@cisco.com>2019-05-13 19:29:39 -0600
commita7169ed98d55988025aef538a184aef5854670b4 (patch)
tree911e280e5b3d91cd223504a0ebadb30d72f80ed3 /src/Q1
parent1703953a677577f707777361e40ea4ee8f9aafbb (diff)
extract method to convert a name to an address book.
Diffstat (limited to 'src/Q1')
-rw-r--r--src/Q1/AddressBook.java23
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)));
}
/**