diff --git a/pom.xml b/pom.xml
index b029312..a041044 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,8 +14,8 @@
maven-compiler-plugin3.8.0
- 1.8
- 1.8
+ 9
+ 9
diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/BasicArrayUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part1/BasicArrayUtils.java
index ef714b5..becd11b 100644
--- a/src/main/java/com/zipcodewilmington/assessment1/part1/BasicArrayUtils.java
+++ b/src/main/java/com/zipcodewilmington/assessment1/part1/BasicArrayUtils.java
@@ -9,7 +9,7 @@ public class BasicArrayUtils {
* @return the first element in the array
*/
public static String getFirstElement(String[] stringArray) {
- return null;
+ return stringArray[0];
}
/**
@@ -17,7 +17,7 @@ public static String getFirstElement(String[] stringArray) {
* @return the second element in the array
*/
public static String getSecondElement(String[] stringArray) {
- return null;
+ return stringArray[1];
}
/**
@@ -25,7 +25,7 @@ public static String getSecondElement(String[] stringArray) {
* @return the last element in the array
*/
public static String getLastElement(String[] stringArray) {
- return null;
+ return stringArray[stringArray.length - 1];
}
/**
@@ -33,6 +33,6 @@ public static String getLastElement(String[] stringArray) {
* @return the second to last element in the array
*/
public static String getSecondToLastElement(String[] stringArray) {
- return null;
+ return stringArray[stringArray.length - 2];
}
}
diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java
index ca13f2d..8f86e89 100644
--- a/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java
+++ b/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java
@@ -9,7 +9,8 @@ public class BasicStringUtils {
* @return string with identical content, and the first character capitalized
*/
public static String camelCase(String str) {
- return null;
+ return str.substring(0, 1).toUpperCase() +
+ str.substring(1).toLowerCase();
}
/**
@@ -17,7 +18,11 @@ public static String camelCase(String str) {
* @return string with identical contents, in the reverse order
*/
public static String reverse(String str) {
- return null;
+ StringBuilder stringBuilder = new StringBuilder(str);
+
+
+
+ return stringBuilder.reverse().toString();
}
/**
@@ -25,7 +30,14 @@ public static String reverse(String str) {
* @return string with identical contents, in reverse order, with first character capitalized
*/
public static String reverseThenCamelCase(String str) {
- return null;
+ StringBuilder stringBuilder = new StringBuilder(str);
+ stringBuilder.reverse();
+
+
+
+
+
+ return BasicStringUtils.camelCase(stringBuilder.toString());
}
@@ -34,7 +46,13 @@ public static String reverseThenCamelCase(String str) {
* @return string with identical contents excluding first and last character
*/
public static String removeFirstAndLastCharacter(String str) {
- return null;
+
+ StringBuilder stringBuilder = new StringBuilder(str);
+ int i = str.length() - 1;
+
+ stringBuilder.deleteCharAt(i);
+ stringBuilder.deleteCharAt(0);
+ return stringBuilder.toString();
}
/**
@@ -42,6 +60,19 @@ public static String removeFirstAndLastCharacter(String str) {
* @return string with identical characters, each with opposite casing
*/
public static String invertCasing(String str) {
- return null;
+ char[] chars = str.toCharArray();
+ for (int i = 0; i < chars.length; i++)
+ {
+ char c = chars[i];
+ if (Character.isUpperCase(c))
+ {
+ chars[i] = Character.toLowerCase(c);
+ }
+ else if (Character.isLowerCase(c))
+ {
+ chars[i] = Character.toUpperCase(c);
+ }
+ }
+ return new String(chars);
}
}
diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerArrayUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerArrayUtils.java
index 68d82ec..2ef3f82 100644
--- a/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerArrayUtils.java
+++ b/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerArrayUtils.java
@@ -9,7 +9,14 @@ public class IntegerArrayUtils {
* @return the sum of `intArray`
*/
public static Integer getSum(Integer[] intArray) {
- return null;
+ Integer sum = 0;
+
+ for(int i = 0; i < intArray.length; i++){
+ sum += intArray[i];
+ }
+
+
+ return sum;
}
/**
@@ -17,7 +24,15 @@ public static Integer getSum(Integer[] intArray) {
* @return the product of `intArray`
*/
public static Integer getProduct(Integer[] intArray) {
- return null;
+
+ Integer product = 1;
+
+ for(int i = 0; i < intArray.length; i++){
+ product *= intArray[i];
+ }
+
+
+ return product;
}
/**
@@ -25,6 +40,12 @@ public static Integer getProduct(Integer[] intArray) {
* @return the sum of `intArray` divided by number of elements in `intArray`
*/
public static Double getAverage(Integer[] intArray) {
- return null;
+ Double sum = 0.0;
+
+ for (int i = 0; i < intArray.length; i++){
+ sum += intArray[i];
+ }
+ return sum / intArray.length;
+
}
}
diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerUtils.java
index eccbb6c..a689b71 100644
--- a/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerUtils.java
+++ b/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerUtils.java
@@ -11,7 +11,15 @@ public class IntegerUtils {
* @return the sum of all integers between 0 and not including `n`
*/
public static Integer getSumOfN(Integer n) {
- return null;
+ int sum =0;
+
+ int i =1;
+
+ while (i <= n){
+ sum = sum + i;
+ i++;
+ }
+ return sum;
}
/**
@@ -19,7 +27,15 @@ public static Integer getSumOfN(Integer n) {
* @return the product of all integers between 0 and not including `n`
*/
public static Integer getProductOfN(Integer n) {
- return null;
+ int sum =1;
+
+ int i =1;
+
+ while (i <= n){
+ sum = sum * i;
+ i++;
+ }
+ return sum;
}
/**
@@ -27,6 +43,16 @@ public static Integer getProductOfN(Integer n) {
* @return integer with identical digits in the reverse order
*/
public static Integer reverseDigits(Integer val) {
- return null;
+
+ int toBeReversed = 0;
+
+ int remainder;
+
+ while (val > 0){
+ remainder = val % 10;
+ toBeReversed = (toBeReversed * 10) + remainder;
+ val = val / 10;
+ }
+ return toBeReversed;
}
}
diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/RockPaperSissorsEvaluator.java b/src/main/java/com/zipcodewilmington/assessment1/part1/RockPaperSissorsEvaluator.java
index 9495445..4cb5256 100644
--- a/src/main/java/com/zipcodewilmington/assessment1/part1/RockPaperSissorsEvaluator.java
+++ b/src/main/java/com/zipcodewilmington/assessment1/part1/RockPaperSissorsEvaluator.java
@@ -1,5 +1,8 @@
package com.zipcodewilmington.assessment1.part1;
+import java.awt.print.Paper;
+import java.util.Objects;
+
/**
* Created by leon on 2/16/18.
*/
@@ -13,7 +16,16 @@ public class RockPaperSissorsEvaluator {
* @return the respective winning move
*/
public String getWinningMove(String handSign) {
- return null;
+
+ if (handSign.equals(ROCK)){
+ return PAPER;
+ } else if (handSign.equals(PAPER)) {
+ return SCISSOR;
+
+ } else if (handSign.equals(SCISSOR)) {
+ return ROCK;
+ }
+ return handSign;
}
/**
@@ -21,15 +33,35 @@ public String getWinningMove(String handSign) {
* @return the respective losing move
*/
public String getLosingMove(String handSign) {
- return null;
+
+ if (handSign.equals(PAPER)){
+ return ROCK;
+ } else if (handSign.equals(SCISSOR)) {
+ return PAPER;
+
+ } else if (handSign.equals(ROCK)) {
+ return SCISSOR;
+ }
+ return handSign;
}
+
/**
* @param handSignOfPlayer1 a string representative of a hand sign of a player
* @param handSignOfPlayer2 a string representative of a hand sign of a challenger
* @return a string representative of the winning hand sign between the two players
*/
public String getWinner(String handSignOfPlayer1, String handSignOfPlayer2) {
- return null;
+ RockPaperSissorsEvaluator rps = new RockPaperSissorsEvaluator();
+
+ if(handSignOfPlayer2.equals(ROCK)) {
+ handSignOfPlayer1 = PAPER;
+ } else if (handSignOfPlayer2.equals(PAPER)) {
+ handSignOfPlayer1 = SCISSOR;
+ }else if (handSignOfPlayer2.equals(SCISSOR)) {
+ handSignOfPlayer1 = ROCK;
+
}
+ return handSignOfPlayer1;
+}
}
diff --git a/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java
index bb9995a..a9c1e28 100644
--- a/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java
+++ b/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java
@@ -1,5 +1,12 @@
package com.zipcodewilmington.assessment1.part2;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Map;
+import java.util.stream.Stream;
+
/**
* Created by leon on 2/16/18.
*/
@@ -11,9 +18,16 @@ public class ArrayUtils {
* Given an array of objects, named `objectArray`, and an object `objectToCount`, return the number of times the `objectToCount` appears in the `objectArray`
*/
public static Integer getNumberOfOccurrences(Object[] objectArray, Object objectToCount) {
- return null;
+ int counter = 0;
+
+ for (Object o : objectArray)
+ if (objectToCount == o)
+ counter++;
+
+ return counter;
}
+
/**
* @param objectArray an array of any type of Object
* @param objectToRemove a value to be removed from the `objectArray`
@@ -21,9 +35,12 @@ public static Integer getNumberOfOccurrences(Object[] objectArray, Object object
* Given an array of objects, name `objectArray`, and an object `objectToRemove`, return an array of objects with identical contents excluding `objectToRemove`
*/
public static Object[] removeValue(Object[] objectArray, Object objectToRemove) {
- return null;
+
+
+ return null;
}
+
/**
* @param objectArray an array of any type of Object
* @return the most frequently occurring object in the array
@@ -50,6 +67,23 @@ public static Object getLeastCommon(Object[] objectArray) {
* given two arrays `objectArray` and `objectArrayToAdd`, return an array containing all elements in `objectArray` and `objectArrayToAdd`
*/
public static Object[] mergeArrays(Object[] objectArray, Object[] objectArrayToAdd) {
+
+// int length = objectArray.length + objectArrayToAdd.length;
+// Object[] mergedArray = new Object[length];
+// int position = 0;
+//
+// for (Object element : objectArray) {
+// mergedArray[position] = element;
+// position++;
+// }
+//
+// for (Object element : objectArrayToAdd) {
+// mergedArray[position] = element;
+// position++;
+//
+// }
+// return mergedArray;
return null;
}
}
+
diff --git a/src/main/java/com/zipcodewilmington/assessment1/part2/MultiplesDeleter.java b/src/main/java/com/zipcodewilmington/assessment1/part2/MultiplesDeleter.java
index a348b0d..cb0f146 100644
--- a/src/main/java/com/zipcodewilmington/assessment1/part2/MultiplesDeleter.java
+++ b/src/main/java/com/zipcodewilmington/assessment1/part2/MultiplesDeleter.java
@@ -1,5 +1,9 @@
package com.zipcodewilmington.assessment1.part2;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Scanner;
+
/**
* Created by leon on 2/16/18.
*/
@@ -10,7 +14,24 @@ public class MultiplesDeleter {
* given an array of integers, named `ints` return an identical array with evens removed
*/
public Integer[] deleteEvens(Integer[] ints) {
- return null;
+ int countOdd = 0;
+
+ for (int i : ints) {
+ if (!(i % 2 == 0))
+ ++countOdd;
+ }
+ Integer[] odd = new Integer[countOdd];
+
+ int i = 0;
+ for (int num : ints) {
+ if (!(num % 2 == 0)) {
+
+ odd[i++] = num;
+ }
+
+
+ }
+ return odd;
}
/**
@@ -19,7 +40,24 @@ public Integer[] deleteEvens(Integer[] ints) {
* given an array of integers, named `ints` return an identical array with odds removed
*/
public Integer[] deleteOdds(Integer[] ints) {
- return null;
+ int countEven = 0;
+
+ for (int i : ints) {
+ if (!(i % 2 == 0))
+ ++countEven;
+ }
+ Integer[] even = new Integer[countEven];
+
+ int i = 0;
+ for (int num : ints) {
+ if (num % 2 == 0) {
+
+ even[i++] = num;
+ }
+
+
+ }
+ return even;
}
/**
@@ -28,16 +66,32 @@ public Integer[] deleteOdds(Integer[] ints) {
* given an array of integers, named `ints` return an identical array with numbers indivisible by 3 removed
*/
public Integer[] deleteMultiplesOf3(Integer[] ints) {
- return null;
+ int multiple = 0;
+
+ for (int i : ints) {
+ if (!(i % 3 == 0))
+ multiple++;
+ }
+ Integer[] ofThree = new Integer[multiple];
+ int i = 0;
+ for (int num : ints) {
+ if (num % 3 != 0) {
+
+ ofThree[i++] = num;
+ }
+
+
+ }
+ return ofThree;
}
/**
- * @param ints array of Integer objects
+ * @param ints array of Integer objects
* @param multiple the multiple to evaluate divisibility against
* @return all ints which are not divisible by the `multiple` specified
* given an array of integers, named `ints` return an identical array with numbers indivisible by `multiple` removed
*/
public Integer[] deleteMultiplesOfN(Integer[] ints, int multiple) {
- return null;
+ return null;
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java
index fc403e5..2252d72 100644
--- a/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java
+++ b/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java
@@ -1,5 +1,10 @@
package com.zipcodewilmington.assessment1.part2;
+import com.zipcodewilmington.assessment1.part1.BasicStringUtils;
+
+import java.text.BreakIterator;
+import java.util.ArrayList;
+
/**
* Created by leon on 2/16/18.
*/
@@ -11,7 +16,22 @@ public class StringUtils {
* given a string containing words delimited by spaces, representative of a sentence, return an array of strings, each element representative of a respective word in the sentence
*/
public static String[] getWords(String sentence) {
- return null;
+ ArrayList words = new ArrayList<>();
+
+ BreakIterator breakIterator = BreakIterator.getWordInstance();
+ breakIterator.setText(sentence);
+
+ int lastIndex = breakIterator.first();
+
+ while (BreakIterator.DONE != lastIndex) {
+ int firstIndex = lastIndex;
+ lastIndex = breakIterator.next();
+ if (lastIndex != BreakIterator.DONE && Character.isLetterOrDigit(sentence.charAt(firstIndex))) {
+ words.add(sentence.substring(firstIndex, lastIndex));
+ }
+ }
+
+ return words.toArray(new String[0]);
}
@@ -21,7 +41,8 @@ public static String[] getWords(String sentence) {
* given a string containing words delimited by spaces, representative of a sentence, return the first word of the sentence
*/
public static String getFirstWord(String sentence) {
- return null;
+
+ return sentence.substring(0, sentence.indexOf(' '));
}
/**
@@ -30,7 +51,7 @@ public static String getFirstWord(String sentence) {
* given a string containing words delimited by spaces, representative of a sentence, return the first word with identical contents in reverse order
*/
public static String reverseFirstWord(String sentence) {
- return null;
+ return BasicStringUtils.reverse(sentence.substring(0, sentence.indexOf(' ')));
}
/**
@@ -39,7 +60,12 @@ public static String reverseFirstWord(String sentence) {
* given a string containing words delimited by spaces, representative of a sentence, return the first word with identical contents in reverse order with the first character capitalized
*/
public static String reverseFirstWordThenCamelCase(String sentence) {
- return null;
+ StringBuilder stringBuilder = new StringBuilder(sentence);
+
+ String reverse = BasicStringUtils.reverse(stringBuilder.substring(0,sentence.indexOf(' ')));
+
+
+ return BasicStringUtils.camelCase(reverse);
}
@@ -50,7 +76,12 @@ public static String reverseFirstWordThenCamelCase(String sentence) {
* given a string and index, return an identical string excluding the character at the specified index
*/
public static String removeCharacterAtIndex(String str, int index) {
- return null;
+ StringBuilder stringBuilder = new StringBuilder(str);
+ index = str.length() / index - 1;
+
+ stringBuilder.deleteCharAt(index);
+
+ return stringBuilder.toString() ;
}
}
diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java
index e731b77..a121131 100644
--- a/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java
+++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java
@@ -9,22 +9,24 @@ public class Cat extends Pet {
* @param age age of this Cat
*/
public Cat(String name, Integer age) {
-
+ age = 0;
+ name = "";
}
/**
* @param age age of this Cat
*/
public Cat(Integer age) {
- }
+ age = 0;}
/**
* @param name name of this Cat
*/
public Cat(String name) {
-
+name = "";
}
+
/**
* nullary constructor
* by default, a Cat's
@@ -32,12 +34,14 @@ public Cat(String name) {
* age is 0
*/
public Cat() {
+ super();
}
/**
* @return meow as a string
*/
public String speak() {
- return null;
+ return "Meow";
}
+
}
diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java
index 0c775fd..05956f0 100644
--- a/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java
+++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java
@@ -38,6 +38,6 @@ public Dog() {
* @return bark as a string
*/
public String speak() {
- return null;
+ return "Bark";
}
}
diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java
index 3c925da..3cbc6d2 100644
--- a/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java
+++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java
@@ -8,6 +8,12 @@ public abstract class Pet implements Animal {
* nullary constructor
* by default, pet has age of 0; name of "";
*/
+
+ private String name;
+ private Integer age;
+ private PetOwner petOwner;
+
+
public Pet() {
}
@@ -22,7 +28,7 @@ public Pet(String name) {
* @param age age of this pet
*/
public Pet(int age) {
- }
+ age = getAge();}
/**
* @param name name of this pet
@@ -35,14 +41,14 @@ public Pet(String name, int age) {
* @return name of this pet
*/
public String getName() {
- return null;
+ return this.name;
}
/**
* @return age of this pet
*/
public Integer getAge() {
- return null;
+ return this.age;
}
/**
@@ -56,6 +62,22 @@ public void setOwner(PetOwner newPetOwner) {
* @return PetOwner object whose composite `pets` collection contains this Pet instance
*/
public PetOwner getOwner() {
- return null;
+ return this.petOwner ;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public void setAge(Integer age) {
+ this.age = age;
+ }
+
+ public PetOwner getPetOwner() {
+ return petOwner;
+ }
+
+ public void setPetOwner(PetOwner petOwner) {
+ this.petOwner = petOwner;
}
}
diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java b/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java
index 7bbf2ab..4ec71d3 100644
--- a/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java
+++ b/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java
@@ -9,12 +9,15 @@ public class PetOwner {
* @param pets array of Pet object
*/
public PetOwner(String name, Pet... pets) {
+ name = this.getName();
+ pets = getPets();
}
/**
* @param pet pet to be added to the composite collection of Pets
*/
public void addPet(Pet pet) {
+ pet.setOwner(pet.getOwner());
}
/**