diff --git a/src/main/java/com/zipcodewilmington/assessment2/part1/BasicUtilities.java b/src/main/java/com/zipcodewilmington/assessment2/part1/BasicUtilities.java index 1402353..c1f972e 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part1/BasicUtilities.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part1/BasicUtilities.java @@ -2,18 +2,32 @@ public class BasicUtilities { public Boolean isGreaterThan5(Integer value) { - return null; + if (value >= 5){ + return true; + } + return false; } public Boolean isLessThan7(Integer value) { - return null; + if (value <= 7){ + return true; + } + return false; } public Boolean isBetween5And7(Integer valueToEvaluate) { - return null; + if (valueToEvaluate >= 5 && valueToEvaluate <= 7){ + return true; + } + return false; } public Boolean startsWith(String string, Character character) { - return null; + String stringToCheckUpper = string.toUpperCase(); + String stringToCheckLower = string.toLowerCase(); + if (stringToCheckLower.charAt(0) == character || stringToCheckUpper.charAt(0) == character){ + return true; + } + return false; } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part1/IntegerArrayUtilities.java b/src/main/java/com/zipcodewilmington/assessment2/part1/IntegerArrayUtilities.java index a360000..bbceb26 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part1/IntegerArrayUtilities.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part1/IntegerArrayUtilities.java @@ -1,19 +1,34 @@ package com.zipcodewilmington.assessment2.part1; +import com.j256.ormlite.stmt.query.In; + public class IntegerArrayUtilities { public Boolean hasEvenLength(Integer[] array) { - return null; + if (array.length % 2 == 0){ + return true; + } + return false; } public Integer[] range(int start, int stop) { - return null; + + int[] nums = java.util.stream.IntStream.rangeClosed(start, stop).toArray(); + + Integer[] newArray = new Integer[nums.length]; + + for (int i = 0; i < nums.length; i++){ + newArray[i] = Integer.valueOf(nums[i]); + } + + return newArray; } public Integer getSumOfFirstTwo(Integer[] array) { - return null; + + return array[0].intValue() + array[1].intValue(); } public Integer getProductOfFirstTwo(Integer[] array) { - return null; + return array[array.length - 2].intValue() * array[array.length - 1].intValue(); } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part1/WuTangConcatenator.java b/src/main/java/com/zipcodewilmington/assessment2/part1/WuTangConcatenator.java index 63f210e..4374647 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part1/WuTangConcatenator.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part1/WuTangConcatenator.java @@ -1,18 +1,33 @@ package com.zipcodewilmington.assessment2.part1; public class WuTangConcatenator { + + private Integer input; public WuTangConcatenator(Integer input) { + this.input = input; } public Boolean isWu() { - return null; + + if (input % 3 == 0){ + return true; + } + return false; } public Boolean isTang() { - return null; + + if (input % 5 == 0){ + return true; + } + return false; + } public Boolean isWuTang() { - return null; + if (isWu() == true && isTang() == true){ + return true; + } + return false; } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java b/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java index de2f799..653f039 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java @@ -1,19 +1,70 @@ package com.zipcodewilmington.assessment2.part2; +//import com.sun.tools.hat.internal.model.JavaObjectArray; +//import com.sun.tools.javac.code.Attribute; +//import com.sun.tools.javac.util.ArrayUtils; +//import com.sun.tools.javac.util.List; + public class ArrayUtility { public Integer[] merge(Integer[] array1, Integer[] array2) { - return null; + Integer[] merged = new Integer[array1.length + array2.length]; + + System.arraycopy(array1, 0, merged, 0, array1.length); + System.arraycopy(array2, 0, merged, array1.length, array2.length); + return merged; } public Integer[] rotate(Integer[] array, Integer index) { - return null; + Integer[] rotated = new Integer[array.length]; + int count = 0; + for (int i = index; i < array.length; i++){ + rotated[count] = array[i]; + count++; + } + + for (int i = 0; i < index; i++){ + rotated[count] = array[i]; + count++; + } + + return rotated; } public Integer countOccurrence(Integer[] array1, Integer[] array2, Integer valueToEvaluate) { - return null; + Integer occur = 0; + for (int i = 0; i < array1.length; i++) { + if (array1[i] == valueToEvaluate) { + occur++; + } + } + for (int j = 0; j < array2.length; j++){ + + if (array2[j] == valueToEvaluate){ + occur++; + } + } + return occur; } public Integer mostCommon(Integer[] array) { - return null; + int count = 1, tempCount; + Integer popular = array[0]; + Integer temp = 0; + for (int i = 0; i < (array.length - 1); i++) + { + temp = array[i]; + tempCount = 0; + for (int j = 1; j < array.length; j++) + { + if (temp == array[j]) + tempCount++; + } + if (tempCount > count) + { + popular = temp; + count = tempCount; + } + } + return popular; } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java b/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java index e978685..ea0e595 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java @@ -1,29 +1,64 @@ package com.zipcodewilmington.assessment2.part2; +import com.j256.ormlite.stmt.query.In; + +import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; public class ListUtility { + private List list; + + public ListUtility(){ + list = new ArrayList<>(); + } public Boolean add(int i) { - return null; + if (list.add(i)){ + return true; + } + return false; } public Integer size() { - return null; + return list.size(); } public List getUnique() { - return null; +// List unique = new ArrayList<>(); +//// for (Integer i: list){ +//// if (!unique.contains(i)){ +//// unique.add(i); +//// } +//// } +//// +//// return list; + Set s = new HashSet<>(list); + int n = s.size(); + List aList = new ArrayList<>(n); + aList.addAll(s); + return aList; } public String join() { - return null; + String blah = ""; + for (Integer i: list){ + if (list.size()==1){ + return i.toString(); + } + blah += i + ", "; + } + return blah.substring(0, blah.length() - 2); } public Integer mostCommon() { - return null; + ArrayUtility util = new ArrayUtility(); + Integer[] result = new Integer[list.size()]; + result = list.toArray(result); + return util.mostCommon(result); } public Boolean contains(Integer valueToAdd) { - return null; + return list.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..c75c260 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part2/Router.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part2/Router.java @@ -1,20 +1,30 @@ package com.zipcodewilmington.assessment2.part2; +import java.util.LinkedHashMap; + public class Router { + private LinkedHashMap linkMap; + + public Router(){ + linkMap = new LinkedHashMap<>(); + } public void add(String path, String controller) { + linkMap.put(path, controller); } public Integer size() { - return null; + return linkMap.size(); } public String getController(String path) { - return null; + return linkMap.get(path); } public void update(String path, String studentController) { + linkMap.put(path, studentController); } public void remove(String path) { + linkMap.remove(path); } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part3/Bird.java b/src/main/java/com/zipcodewilmington/assessment2/part3/Bird.java index ee230c5..c3a47f6 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part3/Bird.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part3/Bird.java @@ -1,7 +1,17 @@ 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..7ed3842 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part3/BlueJay.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part3/BlueJay.java @@ -1,4 +1,12 @@ package com.zipcodewilmington.assessment2.part3; -public class BlueJay { +public class BlueJay extends Bird{ + + public String color() { + return "blue"; + } + + public int getSpeed() { + return 13; + } } 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..ffcb1a8 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part3/RedRobin.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part3/RedRobin.java @@ -1,4 +1,24 @@ package com.zipcodewilmington.assessment2.part3; -public class RedRobin { +public class RedRobin extends Bird{ + + private String migrationMonth; + + public String color() { + return "red"; + } + + public int getSpeed() { + return 10; + } + + @Override + public String getMigrationMonth() { + return migrationMonth; + } + + @Override + public void setMigrationMonth(String migrationMonth) { + this.migrationMonth = migrationMonth; + } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part3/SpeedComparator.java b/src/main/java/com/zipcodewilmington/assessment2/part3/SpeedComparator.java index 532e766..ee6c4be 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part3/SpeedComparator.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part3/SpeedComparator.java @@ -1,4 +1,20 @@ package com.zipcodewilmington.assessment2.part3; -public class SpeedComparator { +import java.util.Comparator; + +public class SpeedComparator implements Comparator { + @Override + public int compare(Animal o1, Animal o2) { + +// if (o1.getSpeed() == o2.getSpeed()){ +// return 0; +// } +// else if (o1.getSpeed() < o2.getSpeed()){ +// return 1; +// } +// else { +// return 0; +// } + return o2.getSpeed() - o1.getSpeed(); + } }