From 3e69e0b21adfd851e3204d2e8f62cf1a72123028 Mon Sep 17 00:00:00 2001 From: SandyPham823 Date: Sun, 3 Nov 2019 19:52:23 -0500 Subject: [PATCH 1/2] just committing and pushin --- .../java/com/zipcodewilmington/phone/PhoneNumberFactory.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java b/src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java index 36d323b..4083a4c 100644 --- a/src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java +++ b/src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java @@ -20,7 +20,10 @@ private PhoneNumberFactory() { * @return array of randomly generated PhoneNumber objects */ //TODO - Implement logic public static PhoneNumber[] createRandomPhoneNumberArray(int phoneNumberCount) { - return null; + PhoneNumber[] phoneNumberArray = new PhoneNumber[phoneNumberCount]; + for(Integer i = 0; i < phoneNumberCount; i++) + phoneNumberArray[i] = createRandomPhoneNumber(); + return phoneNumberArray; } /** From ea01e4dab944a51746b2aad91a9d868c20bd5ffd Mon Sep 17 00:00:00 2001 From: SandyPham823 Date: Sun, 3 Nov 2019 20:16:41 -0500 Subject: [PATCH 2/2] finished lab yayyy --- .../phone/PhoneNumberFactory.java | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java b/src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java index 4083a4c..43734e1 100644 --- a/src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java +++ b/src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java @@ -1,7 +1,9 @@ package com.zipcodewilmington.phone; import com.zipcodewilmington.exceptions.InvalidPhoneNumberFormatException; +import com.zipcodewilmington.tools.RandomNumberFactory; +import java.util.logging.Level; import java.util.logging.Logger; /** @@ -23,6 +25,7 @@ public static PhoneNumber[] createRandomPhoneNumberArray(int phoneNumberCount) { PhoneNumber[] phoneNumberArray = new PhoneNumber[phoneNumberCount]; for(Integer i = 0; i < phoneNumberCount; i++) phoneNumberArray[i] = createRandomPhoneNumber(); + return phoneNumberArray; } @@ -30,7 +33,8 @@ public static PhoneNumber[] createRandomPhoneNumberArray(int phoneNumberCount) { * @return an instance of PhoneNumber with randomly generated phone number value */ //TODO - Implement logic public static PhoneNumber createRandomPhoneNumber() { - return createPhoneNumberSafely(-1, -1, -1); + return createPhoneNumberSafely(RandomNumberFactory.createInteger(0,1000), + RandomNumberFactory.createInteger(0,1000), RandomNumberFactory.createInteger(0,1000)); } @@ -41,7 +45,16 @@ public static PhoneNumber createRandomPhoneNumber() { * @return a new phone number object */ //TODO - if input is valid, return respective PhoneNumber object, else return null public static PhoneNumber createPhoneNumberSafely(int areaCode, int centralOfficeCode, int phoneLineCode) { - return createPhoneNumber(null); + String phoneNum = String.format("(%03d)-%03d-%04d", areaCode, centralOfficeCode, phoneLineCode); + try{ + if (areaCode == 0 && centralOfficeCode == 0 && phoneLineCode == 0) + throw new InvalidPhoneNumberFormatException(); + return createPhoneNumber(phoneNum); + } + catch (InvalidPhoneNumberFormatException e){ + logger.log(Level.WARNING, phoneNum + " is not a valid phone number :("); + return null; + } } /** @@ -49,7 +62,9 @@ public static PhoneNumber createPhoneNumberSafely(int areaCode, int centralOffic * @return a new phone number object * @throws InvalidPhoneNumberFormatException - thrown if phoneNumberString does not match acceptable format */ // TODO - Add throws statement to method signature - public static PhoneNumber createPhoneNumber(String phoneNumberString) { - return null; + public static PhoneNumber createPhoneNumber(String phoneNumberString) throws InvalidPhoneNumberFormatException{ + logger.log(Level.INFO, "Attempting to create a new PhoneNumber object with a value of " + phoneNumberString); + + return new PhoneNumber(phoneNumberString); } }