From a7169ed98d55988025aef538a184aef5854670b4 Mon Sep 17 00:00:00 2001 From: mokha Date: Mon, 13 May 2019 19:29:39 -0600 Subject: extract method to convert a name to an address book. --- src/Q1/AddressBook.java | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'src/Q1/AddressBook.java') 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 @@ -268,6 +268,27 @@ public class AddressBook implements Comparable { this.skypeId = value; } + /** + * 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 @@ -278,7 +299,7 @@ public class AddressBook implements Comparable { * @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))); } /** -- cgit v1.2.3