David Thornley 8 лет назад
Родитель
Сommit
541a8a5e6d
1 измененных файлов: 27 добавлений и 6 удалений
  1. 27
    6
      src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java

+ 27
- 6
src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java Просмотреть файл

@@ -2,6 +2,7 @@ package com.zipcodewilmington.phone;
2 2
 
3 3
 import com.zipcodewilmington.exceptions.InvalidPhoneNumberFormatException;
4 4
 
5
+import java.util.Random;
5 6
 import java.util.logging.Logger;
6 7
 
7 8
 /**
@@ -20,14 +21,24 @@ public final class PhoneNumberFactory {
20 21
      * @return array of randomly generated PhoneNumber objects
21 22
      */ //TODO - Implement logic
22 23
     public static PhoneNumber[] createRandomPhoneNumberArray(int phoneNumberCount) {
23
-        return null;
24
+        PhoneNumber[] phoneBook = new PhoneNumber[phoneNumberCount];
25
+
26
+        for(int i = 1; i <= phoneNumberCount; i++){
27
+            phoneBook[i -1] = createRandomPhoneNumber();
28
+        }
29
+        return phoneBook;
24 30
     }
25 31
 
26 32
     /**
27 33
      * @return an instance of PhoneNumber with randomly generated phone number value
28 34
      */ //TODO - Implement logic
29 35
     public static PhoneNumber createRandomPhoneNumber() {
30
-        return createPhoneNumberSafely(-1, -1, -1);
36
+        Random random = new Random();
37
+        int aC = random.nextInt(900) + 100;
38
+        int cOc = random.nextInt(900) + 100;
39
+        int pLc = random.nextInt(9000) + 1000;
40
+
41
+        return createPhoneNumberSafely(aC, cOc, pLc);
31 42
     }
32 43
 
33 44
 
@@ -38,7 +49,14 @@ public final class PhoneNumberFactory {
38 49
      * @return a new phone number object
39 50
      */ //TODO - if input is valid, return respective PhoneNumber object, else return null
40 51
     public static PhoneNumber createPhoneNumberSafely(int areaCode, int centralOfficeCode, int phoneLineCode) {
41
-        return createPhoneNumber(null);
52
+        String teleNumber = "("+ areaCode + ")-" + centralOfficeCode + "-" + phoneLineCode;
53
+        PhoneNumber pn;
54
+        try{ return pn = createPhoneNumber(teleNumber);}
55
+        catch(InvalidPhoneNumberFormatException e){
56
+            logger.warning(teleNumber + "is not a valid phone number");
57
+            return null;}
58
+
59
+
42 60
     }
43 61
 
44 62
     /**
@@ -46,7 +64,10 @@ public final class PhoneNumberFactory {
46 64
      * @return a new phone number object
47 65
      * @throws InvalidPhoneNumberFormatException - thrown if phoneNumberString does not match acceptable format
48 66
      */ // TODO - Add throws statement to method signature
49
-    public static PhoneNumber createPhoneNumber(String phoneNumberString) {
50
-        return null;
67
+    public static PhoneNumber createPhoneNumber(String phoneNumberString) throws InvalidPhoneNumberFormatException {
68
+        PhoneNumber pn;
69
+        logger.warning("Attempting to create a new PhoneNumber object with a value of " + phoneNumberString);
70
+        return pn = new PhoneNumber(phoneNumberString);
71
+        }
51 72
     }
52
-}
73
+