diff --git a/pom.xml b/pom.xml
index b029312..510b582 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,8 +14,8 @@
maven-compiler-plugin
3.8.0
- 1.8
- 1.8
+ 11
+ 11
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..f77fe97 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;
+ String camel = str.substring(0,1).toUpperCase() + str.substring(1);
+ return camel;
}
/**
@@ -17,7 +18,9 @@ public static String camelCase(String str) {
* @return string with identical contents, in the reverse order
*/
public static String reverse(String str) {
- return null;
+ StringBuilder sb = new StringBuilder(str);
+ sb.reverse();
+ return sb.toString();
}
/**
@@ -25,7 +28,10 @@ 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 sb = new StringBuilder(str);
+ sb.reverse();
+ String camel = sb.substring(0,1).toUpperCase() + sb.substring(1);
+ return camel;
}
@@ -34,7 +40,7 @@ public static String reverseThenCamelCase(String str) {
* @return string with identical contents excluding first and last character
*/
public static String removeFirstAndLastCharacter(String str) {
- return null;
+ return str.substring(1,str.length() - 1);
}
/**
@@ -42,6 +48,15 @@ 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 losingMoves = new HashMap<>();
+ protected static final HashMap winningMoves = new HashMap<>();
+
+ public RockPaperSissorsEvaluator() {
+ String[][] losingMovesArr = new String[][] {{ ROCK, SCISSOR }, { PAPER, ROCK }, { SCISSOR, PAPER }};
+ String[][] winningMovesArr = new String[][] { { ROCK, PAPER }, { PAPER, SCISSOR }, { SCISSOR, ROCK }};
+ for (int i = 0; i < losingMovesArr.length; i++) {
+ String[] losingMove = losingMovesArr[i];
+ String[] winningMove = winningMovesArr[i];
+ losingMoves.put(losingMove[0], losingMove[1]);
+ winningMoves.put(winningMove[0], winningMove[1]);
+ }
+ }
+
/**
* @param handSign a string representative of a hand sign
* @return the respective winning move
*/
public String getWinningMove(String handSign) {
- return null;
+ return winningMoves.get(handSign);
}
/**
@@ -21,7 +37,7 @@ public String getWinningMove(String handSign) {
* @return the respective losing move
*/
public String getLosingMove(String handSign) {
- return null;
+ return losingMoves.get(handSign);
}
/**
@@ -30,6 +46,10 @@ public String getLosingMove(String handSign) {
* @return a string representative of the winning hand sign between the two players
*/
public String getWinner(String handSignOfPlayer1, String handSignOfPlayer2) {
- return null;
+
+ boolean didPlayer2Lose = losingMoves.get(handSignOfPlayer1).equals(handSignOfPlayer2);
+ boolean didPlayer1Lose = losingMoves.get(handSignOfPlayer2).equals(handSignOfPlayer1);
+
+ return didPlayer2Lose ? handSignOfPlayer1 : didPlayer1Lose ? handSignOfPlayer2 : "tie";
}
}
diff --git a/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java
index bb9995a..56b7ea4 100644
--- a/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java
+++ b/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java
@@ -1,5 +1,7 @@
package com.zipcodewilmington.assessment1.part2;
+import java.util.*;
+
/**
* Created by leon on 2/16/18.
*/
@@ -11,7 +13,13 @@ 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 occu = 0;
+ for (Object obj : objectArray){
+ if(objectToCount == obj){
+ occu +=1;
+ }
+ }
+ return occu;
}
/**
@@ -21,7 +29,9 @@ 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;
+ ArrayList