From 50859e63a60c5e328e1268d905fe25b281691e36 Mon Sep 17 00:00:00 2001 From: Leila Hsiao Date: Fri, 6 Mar 2020 10:10:02 -0500 Subject: [PATCH 1/7] finish part1 and half way on part 2 --- .../assessment2/part1/BasicUtilities.java | 8 +++---- .../part1/IntegerArrayUtilities.java | 20 ++++++++++++---- .../assessment2/part1/WuTangConcatenator.java | 9 +++++--- .../assessment2/part2/ArrayUtility.java | 11 ++++++++- .../assessment2/part2/ListUtility.java | 23 +++++++++++++++---- 5 files changed, 54 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment2/part1/BasicUtilities.java b/src/main/java/com/zipcodewilmington/assessment2/part1/BasicUtilities.java index 1402353..7df1672 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part1/BasicUtilities.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part1/BasicUtilities.java @@ -2,18 +2,18 @@ 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 string.toLowerCase().charAt(0) == Character.toLowerCase(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..3a23881 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part1/IntegerArrayUtilities.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part1/IntegerArrayUtilities.java @@ -2,18 +2,30 @@ public class IntegerArrayUtilities { public Boolean hasEvenLength(Integer[] array) { - return null; + return array.length%2 == 0; } public Integer[] range(int start, int stop) { - return null; + int off = 1; + int n = stop - start; + if(n < 0) + off = -1; + + Integer[] result = new Integer[Math.abs(n)+1]; + int value = start; + result[0] = start; + for (int i = 1; i < Math.abs(n)+1 ; i++) { + value = value + off; + result[i] = value; + } + return result; } public Integer getSumOfFirstTwo(Integer[] array) { - return null; + return array[0]+array[1]; } public Integer getProductOfFirstTwo(Integer[] array) { - return null; + return array[array.length-2]*array[array.length-1]; } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part1/WuTangConcatenator.java b/src/main/java/com/zipcodewilmington/assessment2/part1/WuTangConcatenator.java index 63f210e..241c6b7 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 int input; public WuTangConcatenator(Integer input) { + this.input = input; } public Boolean isWu() { - return null; + return input%3==0; } public Boolean isTang() { - return null; + return input%5==0; } public Boolean isWuTang() { - return null; + return isWu()&&isTang(); } } diff --git a/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java b/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java index de2f799..88cbe95 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java @@ -2,7 +2,16 @@ public class ArrayUtility { public Integer[] merge(Integer[] array1, Integer[] array2) { - return null; + int n = array1.length + array2.length; + Integer[] arraySum = new Integer[n]; + for (int i = 0; i < n; i++) { + if(i<=array1.length-1) + arraySum[i]=array1[i]; + else{ + arraySum[i]=array2[i-array1.length]; + } + } + return arraySum; } public Integer[] rotate(Integer[] array, Integer index) { diff --git a/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java b/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java index e978685..3e24484 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java @@ -1,14 +1,22 @@ package com.zipcodewilmington.assessment2.part2; +import java.util.ArrayList; import java.util.List; public class ListUtility { - public Boolean add(int i) { - return null; + private List l; + + public ListUtility(){ + l = new ArrayList<>(); + } + + public Boolean add(Integer i) { + return l.add(i); + } public Integer size() { - return null; + return l.size(); } public List getUnique() { @@ -16,7 +24,12 @@ public List getUnique() { } public String join() { - return null; + StringBuilder s = new StringBuilder(); + for(Integer i:l){ + s.append(i).append(", "); + } + String result = s.toString().substring(0,s.toString().length()-2); + return result; } public Integer mostCommon() { @@ -24,6 +37,6 @@ public Integer mostCommon() { } public Boolean contains(Integer valueToAdd) { - return null; + return l.contains(valueToAdd); } } From 011b383a876822f931c560ce5ba10e5def33d637 Mon Sep 17 00:00:00 2001 From: Leila Hsiao Date: Fri, 6 Mar 2020 10:35:45 -0500 Subject: [PATCH 2/7] fix toString test so it will run --- .../assessment2/part2/Router.java | 25 +++++++++++++++++-- .../part2/router/ToStringTest.java | 3 +-- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment2/part2/Router.java b/src/main/java/com/zipcodewilmington/assessment2/part2/Router.java index 2267425..ad79d5b 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part2/Router.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part2/Router.java @@ -1,20 +1,41 @@ package com.zipcodewilmington.assessment2.part2; +import java.util.HashMap; +import java.util.Map; +import java.util.TreeMap; + public class Router { + Map mp= new TreeMap<>(); + String string = ""; + public void add(String path, String controller) { + mp.put(path,controller); + string += path+controller+"\n"; } public Integer size() { - return null; + return mp.size(); } public String getController(String path) { - return null; + return mp.get(path); } public void update(String path, String studentController) { + mp.put(path,studentController); } public void remove(String path) { + mp.remove(path); + } + + @Override + public String toString() { +// StringBuilder s = new StringBuilder(); +// for(Map.Entry e :mp.entrySet()){ +// s.insert(0,e.getKey()+e.getValue()+"\n"); +// } +// return s.toString(); + return string; } } diff --git a/src/test/java/com/zipcodewilmington/assessment2/part2/router/ToStringTest.java b/src/test/java/com/zipcodewilmington/assessment2/part2/router/ToStringTest.java index b199783..3f33bc8 100644 --- a/src/test/java/com/zipcodewilmington/assessment2/part2/router/ToStringTest.java +++ b/src/test/java/com/zipcodewilmington/assessment2/part2/router/ToStringTest.java @@ -36,8 +36,7 @@ public void test4() { new Pair<>("/instructors", "InstructorController")); } - @Test - public void test(Pair... pairs) { + private void test(Pair... pairs) { // given StringBuilder expectedString = new StringBuilder(); Router router = new Router(); From 40d8206d3ed9e557d737b5b89f695eb796ed6935 Mon Sep 17 00:00:00 2001 From: Leila Hsiao Date: Fri, 6 Mar 2020 10:44:16 -0500 Subject: [PATCH 3/7] finish part3, have to go back and finish part2 --- .../assessment2/part3/Bird.java | 13 ++++++++++- .../assessment2/part3/BlueJay.java | 11 +++++++++- .../assessment2/part3/Horse.java | 17 +++++++++++++- .../assessment2/part3/RedRobin.java | 22 ++++++++++++++++++- .../assessment2/part3/SpeedComparator.java | 8 ++++++- 5 files changed, 66 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment2/part3/Bird.java b/src/main/java/com/zipcodewilmington/assessment2/part3/Bird.java index ee230c5..4f0fe91 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 { + @Override 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..eb183a4 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part3/BlueJay.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part3/BlueJay.java @@ -1,4 +1,13 @@ package com.zipcodewilmington.assessment2.part3; -public class BlueJay { +public class BlueJay extends Bird{ + @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..4310e7b 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part3/Horse.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part3/Horse.java @@ -1,4 +1,19 @@ 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..21e7b0b 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{ + @Override + public int getSpeed() { + return 10; + } + + @Override + public String color() { + return "red"; + } + + @Override + public String getMigrationMonth() { + return "August"; + } + + @Override + public void setMigrationMonth(String expected) { + super.setMigrationMonth(expected); + } } + diff --git a/src/main/java/com/zipcodewilmington/assessment2/part3/SpeedComparator.java b/src/main/java/com/zipcodewilmington/assessment2/part3/SpeedComparator.java index 532e766..ff38b5c 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part3/SpeedComparator.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part3/SpeedComparator.java @@ -1,4 +1,10 @@ package com.zipcodewilmington.assessment2.part3; -public class SpeedComparator { +import java.util.Comparator; + +public class SpeedComparator implements Comparator { + @Override + public int compare(Animal animal, Animal t1) { + return t1.getSpeed()-animal.getSpeed(); + } } From abb3bd190871fccc8247c1849c31ba8f351932cc Mon Sep 17 00:00:00 2001 From: Leila Hsiao Date: Fri, 6 Mar 2020 11:04:53 -0500 Subject: [PATCH 4/7] part2 array done --- .../assessment2/part2/ArrayUtility.java | 39 +++++++++++++++++-- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java b/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java index 88cbe95..72fbcfb 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java @@ -1,5 +1,9 @@ package com.zipcodewilmington.assessment2.part2; +import com.j256.ormlite.stmt.query.In; + +import java.util.*; + public class ArrayUtility { public Integer[] merge(Integer[] array1, Integer[] array2) { int n = array1.length + array2.length; @@ -15,14 +19,43 @@ public Integer[] merge(Integer[] array1, Integer[] array2) { } public Integer[] rotate(Integer[] array, Integer index) { - return null; + List l = new ArrayList<>(Arrays.asList(array)); + for (int i = 0; i < index; i++) { + Integer temp =l.remove(0); + l.add(array.length-1,temp); + } + return l.toArray(new Integer[0]); } public Integer countOccurrence(Integer[] array1, Integer[] array2, Integer valueToEvaluate) { - return null; + int counter = 0; + for (Integer integer : array1) { + if (valueToEvaluate.equals(integer)) + counter++; + } + if (array2 != null) { + for (Integer integer : array2) { + if (valueToEvaluate.equals(integer)) + counter++; + } + + } + return counter; } public Integer mostCommon(Integer[] array) { - return null; + Map hp = new HashMap(); + for (Integer i:array) { + hp.put(i,countOccurrence(array,null,i)); + } + // find max frequency. + int max_count = 0, res = -1; + for(Map.Entry val : hp.entrySet()) { + if (max_count < val.getValue()) { + res = val.getKey(); + max_count = val.getValue(); + } + } + return res; } } From f18aae158378df3295d0d0bbbad57423f4261d76 Mon Sep 17 00:00:00 2001 From: Leila Hsiao Date: Fri, 6 Mar 2020 11:14:04 -0500 Subject: [PATCH 5/7] finish --- .../assessment2/part2/ArrayUtility.java | 7 +++++-- .../assessment2/part2/ListUtility.java | 13 +++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java b/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java index 72fbcfb..6837047 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java @@ -30,7 +30,9 @@ public Integer[] rotate(Integer[] array, Integer index) { public Integer countOccurrence(Integer[] array1, Integer[] array2, Integer valueToEvaluate) { int counter = 0; for (Integer integer : array1) { - if (valueToEvaluate.equals(integer)) + if(valueToEvaluate==null){ + counter++; + }else if (valueToEvaluate.equals(integer)) counter++; } if (array2 != null) { @@ -49,7 +51,8 @@ public Integer mostCommon(Integer[] array) { hp.put(i,countOccurrence(array,null,i)); } // find max frequency. - int max_count = 0, res = -1; + int max_count = 0; + Integer res = -1; for(Map.Entry val : hp.entrySet()) { if (max_count < val.getValue()) { res = val.getKey(); diff --git a/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java b/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java index 3e24484..a7df862 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java @@ -1,7 +1,9 @@ package com.zipcodewilmington.assessment2.part2; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; public class ListUtility { private List l; @@ -20,7 +22,12 @@ public Integer size() { } public List getUnique() { - return null; + Set s = new HashSet<>(l); + int n = s.size(); + List aList = new ArrayList<>(n); + for (Integer i : s) + aList.add(i); + return aList; } public String join() { @@ -32,8 +39,10 @@ public String join() { return result; } + ArrayUtility au = new ArrayUtility(); public Integer mostCommon() { - return null; + + return au.mostCommon(l.toArray(new Integer[0])); } public Boolean contains(Integer valueToAdd) { From 4b6f3da8d2df3a32d7356596e25f9e73c6b51b5a Mon Sep 17 00:00:00 2001 From: Leila Hsiao Date: Fri, 6 Mar 2020 11:28:14 -0500 Subject: [PATCH 6/7] very minor fix --- .../com/zipcodewilmington/assessment2/part2/ListUtility.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java b/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java index a7df862..76418be 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java @@ -39,9 +39,9 @@ public String join() { return result; } - ArrayUtility au = new ArrayUtility(); - public Integer mostCommon() { + public Integer mostCommon() { + ArrayUtility au = new ArrayUtility(); return au.mostCommon(l.toArray(new Integer[0])); } From b0a6a98adcf69ed03177cdb8fc8ec4bce9413ac4 Mon Sep 17 00:00:00 2001 From: Leila Hsiao Date: Fri, 6 Mar 2020 11:33:02 -0500 Subject: [PATCH 7/7] very minor fix2 --- .../zipcodewilmington/assessment2/part2/ListUtility.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java b/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java index 76418be..825b805 100644 --- a/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java +++ b/src/main/java/com/zipcodewilmington/assessment2/part2/ListUtility.java @@ -25,8 +25,7 @@ public List getUnique() { Set s = new HashSet<>(l); int n = s.size(); List aList = new ArrayList<>(n); - for (Integer i : s) - aList.add(i); + aList.addAll(s); return aList; } @@ -35,8 +34,7 @@ public String join() { for(Integer i:l){ s.append(i).append(", "); } - String result = s.toString().substring(0,s.toString().length()-2); - return result; + return s.toString().substring(0,s.toString().length()-2); }