diff --git a/src/main/java/com/zipcodewilmington/assessment2/part1/BasicUtilities.java b/src/main/java/com/zipcodewilmington/assessment2/part1/BasicUtilities.java index 1402353..71dd459 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part1/BasicUtilities.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part1/BasicUtilities.java @@ -1,19 +1,22 @@ package com.zipcodewilmington.assessment2.part1; +import java.io.CharConversionException; + public class BasicUtilities { public Boolean isGreaterThan5(Integer value) { - return null; + + return value >= 5; } public Boolean isLessThan7(Integer value) { - return null; + return value <= 7; } public Boolean isBetween5And7(Integer valueToEvaluate) { - return null; + return isGreaterThan5(valueToEvaluate) && isLessThan7(valueToEvaluate); } public Boolean startsWith(String string, Character character) { - return null; + return Character.toLowerCase(string.charAt(0)) == character || Character.toUpperCase(string.charAt(0)) == character; } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part1/IntegerArrayUtilities.java b/src/main/java/com/zipcodewilmington/assessment2/part1/IntegerArrayUtilities.java index a360000..73b0cf9 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part1/IntegerArrayUtilities.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part1/IntegerArrayUtilities.java @@ -2,18 +2,26 @@ public class IntegerArrayUtilities { public Boolean hasEvenLength(Integer[] array) { - return null; + + return array.length % 2 == 0; } public Integer[] range(int start, int stop) { - return null; + Integer[] testArray = new Integer[stop - start + 1]; + for (int i = 0; i < testArray.length; i++) { + testArray[i] = start; + start++; + } + return testArray; } public Integer getSumOfFirstTwo(Integer[] array) { - return null; + + return array[0] + array[1]; } public Integer getProductOfFirstTwo(Integer[] array) { - return null; + + return array[array.length -1] * array[array.length - 2]; } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part1/WuTangConcatenator.java b/src/main/java/com/zipcodewilmington/assessment2/part1/WuTangConcatenator.java index 63f210e..620a18e 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part1/WuTangConcatenator.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part1/WuTangConcatenator.java @@ -1,18 +1,21 @@ package com.zipcodewilmington.assessment2.part1; public class WuTangConcatenator { + private Integer input; + public WuTangConcatenator(Integer input) { + this.input = input; } public Boolean isWu() { - return null; + return input % 3 == 0; // either with this. or without works } public Boolean isTang() { - return null; + return this.input % 5 == 0; } public Boolean isWuTang() { - return null; + return this.input % 15 == 0; } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java b/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java index de2f799..6287724 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java @@ -1,19 +1,63 @@ package com.zipcodewilmington.assessment2.part2; +import com.j256.ormlite.stmt.query.In; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; + public class ArrayUtility { public Integer[] merge(Integer[] array1, Integer[] array2) { - return null; + Integer[] result = new Integer[array1.length + array2.length]; + System.arraycopy(array1, 0, result, 0, array1.length); + System.arraycopy(array2, 0, result, array1.length, array2.length); + return result; } public Integer[] rotate(Integer[] array, Integer index) { - return null; + Integer[] rotatedArray = new Integer[array.length]; + int newIndex = 0; + + for (int i = 0; i < array.length; i++) { + newIndex = i >= index ? i - index : array.length - (index - i); + + rotatedArray[newIndex] = array[i]; + } + return rotatedArray; } public Integer countOccurrence(Integer[] array1, Integer[] array2, Integer valueToEvaluate) { - return null; + int intCount = 0; + Integer[] result = new Integer[array1.length + array2.length]; + result = merge(array1, array2); + for (int i = 0; i < result.length; i++) { + if (result[i].equals(valueToEvaluate)) { + intCount++; + } + } + return intCount; } public Integer mostCommon(Integer[] array) { - return null; + Integer count = 1; + Object mostPop = array[0]; + Integer tempCount; + Object temp = 0; + + for (int i = 0; i < array.length; i++) { + temp = array[i]; + tempCount = 0; + for (int j = 0; j < array.length; j++) { + if (temp == array[j]) { + tempCount++; + } + if ((tempCount > count)) { + mostPop = temp; + count = tempCount; + } + } + } + return (Integer) mostPop; } } + diff --git a/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java b/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java index e978685..fdeea08 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java @@ -1,29 +1,93 @@ package com.zipcodewilmington.assessment2.part2; -import java.util.List; +import com.j256.ormlite.stmt.query.In; + +import java.util.*; +import java.util.logging.Level; +import java.util.stream.Collectors; + public class ListUtility { + ArrayList testList = new ArrayList<>(); + public Boolean add(int i) { - return null; + testList.add(i); + //System.out.println(testList.contains(i)); + return testList.contains(i); } public Integer size() { - return null; + + return testList.size(); } public List getUnique() { - return null; + Set uniqueSet; + uniqueSet = new HashSet(testList); + return new ArrayList(uniqueSet); } public String join() { - return null; + StringBuilder arrayString = new StringBuilder(""); + for (int i = 0; i < testList.size() - 1; i++) { + arrayString.append(testList.get(i)).append(", "); + } + arrayString.append(testList.get(testList.size() - 1)); + return arrayString.toString(); } public Integer mostCommon() { + + HashMap elementCountMap = new HashMap(); + for (int i : testList) + if (elementCountMap.containsKey(i)) { + elementCountMap.put(i, elementCountMap.get(i) + 1); + } else { + elementCountMap.put(i, 1); + } + System.out.println(elementCountMap.keySet()); + System.out.println(elementCountMap.values()); + + Integer element = 0; + Integer frequency = 1; + +// +// for (Map.Entry entry : elementCountMap.entrySet()) { +// if (entry.getValue() > frequency) { +// element = entry.getKey(); +// +// frequency = entry.getValue(); +// } +// } +//// Map element = new HashMap<>(); +// for (int i : testList) { +// if (element.containsKey(i)) { +// element.put(i, element.get(i) + 1); +// } else { +// element.put(i, 1); +// } +// } +// Integer frequency = 0; +// if(!element.isEmpty()) { +// Iterator it = element.entrySet().iterator(); +// while(it.hasNext()) { +// if (element) +// } +// +// +// Integer mostCom = 0; +// Set >mostOften = element.entrySet(); +// for (Map.Entry ent : mostOften) { +// if (ent.getValue() > frequency) { +// mostCom = ent.getKey(); +// } +// } return null; } - public Boolean contains(Integer valueToAdd) { - return null; + + public Boolean contains (Integer valueToAdd){ + System.out.println(testList); + return testList.contains(valueToAdd); + } } -} diff --git a/src/main/java/com/zipcodewilmington/assessment2/part2/Router.java b/src/main/java/com/zipcodewilmington/assessment2/part2/Router.java index 2267425..51352f4 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part2/Router.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part2/Router.java @@ -1,20 +1,44 @@ package com.zipcodewilmington.assessment2.part2; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + public class Router { + + Map testMap = new HashMap<>(); + public void add(String path, String controller) { + + testMap.put(path, controller); } public Integer size() { - return null; + + return testMap.size(); } public String getController(String path) { - return null; + + return testMap.get(path); } public void update(String path, String studentController) { + testMap.put(path, studentController); } public void remove(String path) { + testMap.remove(path); + } + + public String toString(String path, String Controller) { +// StringBuilder keyValues = new StringBuilder(""); +// Iterator keyValueSet = testMap.keySet().iterator(); +// while (keyValueSet.hasNext()) { +// keyValues.append("\n").append(keyValueSet.next()).append(" -> ").append(testMap.get(keyValueSet.next())); +// +// } + + return ""; //keyValues.toString(); } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part3/Bird.java b/src/main/java/com/zipcodewilmington/assessment2/part3/Bird.java index ee230c5..c63670d 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part3/Bird.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part3/Bird.java @@ -1,7 +1,18 @@ package com.zipcodewilmington.assessment2.part3; -public class Bird { +public class Bird implements Animal{ public String move() { + + return "fly"; + } + + @Override + public int getSpeed() { + return 0; + } + + @Override + public String color() { return null; } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part3/BlueJay.java b/src/main/java/com/zipcodewilmington/assessment2/part3/BlueJay.java index f18d13a..4f3ad40 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part3/BlueJay.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part3/BlueJay.java @@ -1,4 +1,18 @@ package com.zipcodewilmington.assessment2.part3; -public class BlueJay { +public class BlueJay extends Bird { + @Override + public String move() { + return "fly"; + } + + @Override + public int getSpeed() { + return 13; + } + + @Override + public String color() { + return "blue"; + } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part3/Horse.java b/src/main/java/com/zipcodewilmington/assessment2/part3/Horse.java index e78cf2b..e033c1c 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part3/Horse.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part3/Horse.java @@ -1,4 +1,18 @@ package com.zipcodewilmington.assessment2.part3; -public class Horse{ +public class Horse implements Animal{ + @Override + public String move() { + return "gallop"; + } + + @Override + public int getSpeed() { + return 40; + } + + @Override + public String color() { + return "brown"; + } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part3/RedRobin.java b/src/main/java/com/zipcodewilmington/assessment2/part3/RedRobin.java index c1e85f2..e7d329b 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part3/RedRobin.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part3/RedRobin.java @@ -1,4 +1,23 @@ package com.zipcodewilmington.assessment2.part3; -public class RedRobin { +public class RedRobin extends Bird { + + + String migrationMonth; + + @Override + public String getMigrationMonth() { + return "August"; + } + + @Override + public int getSpeed() { + return 10; + } + + @Override + public String color() { + return "red"; + } + } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part3/SpeedComparator.java b/src/main/java/com/zipcodewilmington/assessment2/part3/SpeedComparator.java index 532e766..dcab6c1 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part3/SpeedComparator.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part3/SpeedComparator.java @@ -1,4 +1,18 @@ package com.zipcodewilmington.assessment2.part3; -public class SpeedComparator { +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +public class SpeedComparator implements Comparator { + + List SpeedCompare = new ArrayList(); + public int compare(Animal animal1, Animal animal2) { + if (animal1.getSpeed() == animal2.getSpeed()) + return 0; + else if (animal1.getSpeed() > animal2.getSpeed()) + return 1; + else return -1; + } }