From 6a00afd10ca6fdcda070a58dd994613549ee9bc0 Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Sat, 19 Sep 2020 09:19:24 -0400 Subject: [PATCH 1/8] added basic util and deltec --- .../com/dtcc/exams/part1/BasicUtilities.java | 23 +++++++++++++++---- .../dtcc/exams/part1/DelTechConcatenator.java | 18 +++++++++++---- 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/dtcc/exams/part1/BasicUtilities.java b/src/main/java/com/dtcc/exams/part1/BasicUtilities.java index 640df37..b858555 100644 --- a/src/main/java/com/dtcc/exams/part1/BasicUtilities.java +++ b/src/main/java/com/dtcc/exams/part1/BasicUtilities.java @@ -1,21 +1,36 @@ package com.dtcc.exams.part1; public class BasicUtilities { + private int input; public Boolean isGreaterThan5(Integer value) { - return null; + if(value >= 5){ + return true; + }else + return false; } public Boolean isLessThan7(Integer value) { - return null; + if(value <= 7){ + return true; + }else + return false; } public Boolean isBetween5And7(Integer valueToEvaluate) { - return null; + if(valueToEvaluate >= 5 && valueToEvaluate <=7){ + return true; + }else + return false; } public Boolean startsWith(String string, Character character) { - return null; + char c = string.toLowerCase().charAt(0); + char lchar = Character.toLowerCase(character); + if(lchar==c){ + return true; + }else + return false; } } \ No newline at end of file diff --git a/src/main/java/com/dtcc/exams/part1/DelTechConcatenator.java b/src/main/java/com/dtcc/exams/part1/DelTechConcatenator.java index 61abcdd..503c3df 100644 --- a/src/main/java/com/dtcc/exams/part1/DelTechConcatenator.java +++ b/src/main/java/com/dtcc/exams/part1/DelTechConcatenator.java @@ -1,20 +1,30 @@ package com.dtcc.exams.part1; public class DelTechConcatenator { - +private double input; public DelTechConcatenator(Integer input) { + this.input =input; } public Boolean isDel() { - return null; + if(input % 3 == 0){ + return true; + }else + return false; } public Boolean isTech() { - return null; + if(input % 5 == 0){ + return true; + }else + return false; } public Boolean isDelTech() { - return null; + if(input % 3 == 0 && input % 5 == 0){ + return true; + }else + return false; } } From 7d4846e0e3176cb2f00bffb4f859166bcd87a429 Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Sat, 19 Sep 2020 09:43:55 -0400 Subject: [PATCH 2/8] part1 done --- .../exams/part1/IntegerArrayUtilities.java | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/dtcc/exams/part1/IntegerArrayUtilities.java b/src/main/java/com/dtcc/exams/part1/IntegerArrayUtilities.java index a7e9aaa..5e8823d 100644 --- a/src/main/java/com/dtcc/exams/part1/IntegerArrayUtilities.java +++ b/src/main/java/com/dtcc/exams/part1/IntegerArrayUtilities.java @@ -1,21 +1,35 @@ package com.dtcc.exams.part1; +import java.util.ArrayList; + public class IntegerArrayUtilities { public Boolean hasEvenLength(Integer[] array) { - return null; + int arrayLength = array.length; + if(arrayLength % 2 == 0){ + return true; + } + else return false; } public Integer[] range(int start, int stop) { - return null; + ArrayList arr = new ArrayList(); + for(int i = start; i < stop + 1; i++){ + arr.add(i); + } + return arr.toArray(new Integer[0]); } public Integer getSumOfFirstTwo(Integer[] array) { - return null; + int sum = 0; + sum = array[0] + array[1]; + return sum; } public Integer getProductOfFirstTwo(Integer[] array) { - return null; + + return array[array.length-1] * array[array.length-2]; + } } From cdc4f41954041d8ddcc3ed88e92138a196e9b676 Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Sat, 19 Sep 2020 11:09:54 -0400 Subject: [PATCH 3/8] Part2 ArrayUtility done --- .../com/dtcc/exams/part2/ArrayUtility.java | 68 ++++++++++++++++--- src/test/java/com/dtcc/exams/TestUtils.java | 1 + .../exams/part2/arrayutility/MergeTest.java | 2 + 3 files changed, 62 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/dtcc/exams/part2/ArrayUtility.java b/src/main/java/com/dtcc/exams/part2/ArrayUtility.java index 41885cb..46722e1 100644 --- a/src/main/java/com/dtcc/exams/part2/ArrayUtility.java +++ b/src/main/java/com/dtcc/exams/part2/ArrayUtility.java @@ -1,21 +1,71 @@ package com.dtcc.exams.part2; +import java.util.ArrayList; +import java.lang.Integer; +import java.util.Arrays; +import java.util.List; + public class ArrayUtility { public Integer[] merge(Integer[] array1, Integer[] array2) { - return null; - } + ArrayList mergeList = new ArrayList<>(); + mergeList.addAll(Arrays.asList(array1)); + mergeList.addAll(Arrays.asList(array2)); + Integer[] item = mergeList.toArray(new Integer[mergeList.size()]); + return item; + } + + public Integer[] rotate(Integer[] array, int index) { +// for(int i = 0; i< index; i++){ +// +// } + Integer[] returnArr = new Integer[0]; + return returnArr; - public Integer[] rotate(Integer[] array, Integer index) { - return null; } public Integer countOccurrence(Integer[] array1, Integer[] array2, Integer valueToEvaluate) { - return null; - } + int count1 = 0; + int count2 = 0; + for(int i = 0; i < array1.length; i++ ){ + if(array1[i] == valueToEvaluate){ + count1++; + }} + for(int j = 0; j < array2.length; j++){ + if(array2[j] == valueToEvaluate){ + count2++; + } } + return count1 + count2; + } + + + public Integer mostCommon(Integer[] array) { - return null; - } + Arrays.sort(array); + int curr_count =0; + int max_count = 1; + Integer res = array[0]; + for (int i = 1; i < array.length; i++) { + if (array[i] == array[i - 1]) + curr_count++; + else { + if (curr_count > max_count) { + max_count = curr_count; + res = array[i - 1]; + } + curr_count = 1; + } + } + + // If last element is most frequent + if (curr_count > max_count) + { + max_count = curr_count; + res = array[array.length - 1]; + } + + return res; + -} + }} diff --git a/src/test/java/com/dtcc/exams/TestUtils.java b/src/test/java/com/dtcc/exams/TestUtils.java index acd6404..86ccb06 100644 --- a/src/test/java/com/dtcc/exams/TestUtils.java +++ b/src/test/java/com/dtcc/exams/TestUtils.java @@ -2,6 +2,7 @@ import org.junit.Assert; +import java.util.ArrayList; import java.util.Arrays; public class TestUtils { diff --git a/src/test/java/com/dtcc/exams/part2/arrayutility/MergeTest.java b/src/test/java/com/dtcc/exams/part2/arrayutility/MergeTest.java index 4baf983..da5e4bb 100644 --- a/src/test/java/com/dtcc/exams/part2/arrayutility/MergeTest.java +++ b/src/test/java/com/dtcc/exams/part2/arrayutility/MergeTest.java @@ -5,6 +5,8 @@ import org.junit.Before; import org.junit.Test; +import java.util.ArrayList; + public class MergeTest { private ArrayUtility utility; From f7e50daa17b73869f8aa20ed571231ac498d42ea Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Sat, 19 Sep 2020 12:08:22 -0400 Subject: [PATCH 4/8] part2 ArrayUtility donel --- .../com/dtcc/exams/part2/ArrayUtility.java | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/dtcc/exams/part2/ArrayUtility.java b/src/main/java/com/dtcc/exams/part2/ArrayUtility.java index 46722e1..fc25500 100644 --- a/src/main/java/com/dtcc/exams/part2/ArrayUtility.java +++ b/src/main/java/com/dtcc/exams/part2/ArrayUtility.java @@ -1,5 +1,6 @@ package com.dtcc.exams.part2; +import java.lang.reflect.Array; import java.util.ArrayList; import java.lang.Integer; import java.util.Arrays; @@ -16,11 +17,21 @@ public Integer[] merge(Integer[] array1, Integer[] array2) { } public Integer[] rotate(Integer[] array, int index) { -// for(int i = 0; i< index; i++){ -// -// } - Integer[] returnArr = new Integer[0]; - return returnArr; + Integer[] result = new Integer[array.length]; + + + int j=0; + for(int i=index; i Date: Sat, 19 Sep 2020 13:59:36 -0400 Subject: [PATCH 5/8] ListUtility done --- .../com/dtcc/exams/part2/ListUtility.java | 34 ++++++++++++++++--- .../dtcc/exams/part2/listutility/AddTest.java | 8 ++--- 2 files changed, 33 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/dtcc/exams/part2/ListUtility.java b/src/main/java/com/dtcc/exams/part2/ListUtility.java index 4c4e910..695b219 100644 --- a/src/main/java/com/dtcc/exams/part2/ListUtility.java +++ b/src/main/java/com/dtcc/exams/part2/ListUtility.java @@ -1,23 +1,37 @@ package com.dtcc.exams.part2; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; public class ListUtility { + public ArrayList list = new ArrayList<>(); + public Boolean add(int i) { - return null; + //if (null==(Integer)i) { return false; } + return list.add(i); + //return null; } public Integer size() { - return null; + return list.size(); } public List getUnique() { - return null; + ArrayList newlist = new ArrayList<>(); + for (Integer element : list) { + if (!newlist.contains(element)) { + newlist.add(element); + } + } + return newlist; } public String join() { - return null; + + String result = String.join(", ", (CharSequence) list); + return result; } public Integer mostCommon() { @@ -25,7 +39,17 @@ public Integer mostCommon() { } public Boolean contains(Integer valueToAdd) { - return null; + + if((Integer)valueToAdd != null) { + if (list.contains(valueToAdd)) { + return true; + } else { + return false; + } + } else { + return false; + } } } + diff --git a/src/test/java/com/dtcc/exams/part2/listutility/AddTest.java b/src/test/java/com/dtcc/exams/part2/listutility/AddTest.java index 4644f23..148f188 100644 --- a/src/test/java/com/dtcc/exams/part2/listutility/AddTest.java +++ b/src/test/java/com/dtcc/exams/part2/listutility/AddTest.java @@ -7,22 +7,22 @@ public class AddTest { @Test public void test1() { - test(1); + this.test(1); } @Test public void test2() { - test(2); + this.test(2); } @Test public void test3() { - test(3); + this.test(3); } @Test public void test4() { - test(null); + this.test(null); } From 486cdbc5d7740110d0c92ffaa098689a66eeda00 Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Sun, 20 Sep 2020 18:59:24 -0400 Subject: [PATCH 6/8] part2 completed --- src/main/java/com/dtcc/exams/part2/ListUtility.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/dtcc/exams/part2/ListUtility.java b/src/main/java/com/dtcc/exams/part2/ListUtility.java index 695b219..2c39832 100644 --- a/src/main/java/com/dtcc/exams/part2/ListUtility.java +++ b/src/main/java/com/dtcc/exams/part2/ListUtility.java @@ -29,11 +29,15 @@ public List getUnique() { } public String join() { - - String result = String.join(", ", (CharSequence) list); - return result; + String joined=""; + for(int i=0;i< list.size();i++){ + joined += list.get(i); + if(i<=list.size()-2) {joined += ", "; } + } + return joined; } + public Integer mostCommon() { return null; } From 56c18ef715aefcc8b07af23ae3eb96cde0514f3a Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Sun, 20 Sep 2020 19:23:39 -0400 Subject: [PATCH 7/8] part2 completed --- .../java/com/dtcc/exams/part2/Router.java | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dtcc/exams/part2/Router.java b/src/main/java/com/dtcc/exams/part2/Router.java index 3c699b6..8eb8a1b 100644 --- a/src/main/java/com/dtcc/exams/part2/Router.java +++ b/src/main/java/com/dtcc/exams/part2/Router.java @@ -1,22 +1,46 @@ package com.dtcc.exams.part2; +import java.util.HashMap; +import java.util.Map; + public class Router { + Map hash_map = new HashMap(); public void add(String path, String controller) { + + hash_map.put(path, controller); + } public Integer size() { - return null; + return this.hash_map.size(); } public String getController(String path) { - return null; + String value=null; + for(Map.Entry key:hash_map.entrySet()){ //this is how you traverse through the map.(Set) + if(key.getKey().equals(path)){ + value= (String) key.getValue(); + } + } + return value; } + public void update(String path, String studentController) { + for(Map.Entry key:this.hash_map.entrySet()) { + if (key.getKey().equals(path)) { + key.setValue(studentController); + } + } } public void remove(String path) { + for(Map.Entry key:this.hash_map.entrySet()) { + if (key.getKey().equals(path)) { + hash_map.remove(path); + } + } } } From d25fba1975d80cf78d6a3eb1f2eef32d4a41e243 Mon Sep 17 00:00:00 2001 From: Apoorvashukla88 Date: Sun, 20 Sep 2020 19:39:36 -0400 Subject: [PATCH 8/8] part3 completed --- src/main/java/com/dtcc/exams/part3/Bird.java | 12 +++++++++- src/main/java/com/dtcc/exams/part3/Horse.java | 17 +++++++++++++- .../com/dtcc/exams/part3/PeregrineFalcon.java | 11 +++++++++- .../java/com/dtcc/exams/part3/RedRobin.java | 22 ++++++++++++++++++- .../com/dtcc/exams/part3/SpeedComparator.java | 19 ++++++++++++++-- 5 files changed, 75 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/dtcc/exams/part3/Bird.java b/src/main/java/com/dtcc/exams/part3/Bird.java index a24cbd8..6b64410 100644 --- a/src/main/java/com/dtcc/exams/part3/Bird.java +++ b/src/main/java/com/dtcc/exams/part3/Bird.java @@ -1,8 +1,18 @@ package com.dtcc.exams.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/dtcc/exams/part3/Horse.java b/src/main/java/com/dtcc/exams/part3/Horse.java index c02e088..121a17b 100644 --- a/src/main/java/com/dtcc/exams/part3/Horse.java +++ b/src/main/java/com/dtcc/exams/part3/Horse.java @@ -1,4 +1,19 @@ package com.dtcc.exams.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 "black"; + } } diff --git a/src/main/java/com/dtcc/exams/part3/PeregrineFalcon.java b/src/main/java/com/dtcc/exams/part3/PeregrineFalcon.java index b5c53b3..09d0a57 100644 --- a/src/main/java/com/dtcc/exams/part3/PeregrineFalcon.java +++ b/src/main/java/com/dtcc/exams/part3/PeregrineFalcon.java @@ -1,4 +1,13 @@ package com.dtcc.exams.part3; -public class PeregrineFalcon { +public class PeregrineFalcon extends Bird{ + @Override + public int getSpeed() { + return 13; + } + + @Override + public String color() { + return "brown"; + } } diff --git a/src/main/java/com/dtcc/exams/part3/RedRobin.java b/src/main/java/com/dtcc/exams/part3/RedRobin.java index 49fd626..d93d75e 100644 --- a/src/main/java/com/dtcc/exams/part3/RedRobin.java +++ b/src/main/java/com/dtcc/exams/part3/RedRobin.java @@ -1,4 +1,24 @@ package com.dtcc.exams.part3; -public class RedRobin { +public class RedRobin extends Bird{ + String migrationMonth; + @Override + public int getSpeed() { + return 10; + } + + @Override + public String color() { + return "red"; + } + + @Override + public String getMigrationMonth() { + return migrationMonth; + } + + @Override + public void setMigrationMonth(String migrationMonth) { + this.migrationMonth = migrationMonth; + } } diff --git a/src/main/java/com/dtcc/exams/part3/SpeedComparator.java b/src/main/java/com/dtcc/exams/part3/SpeedComparator.java index 2aa8c7f..55932bd 100644 --- a/src/main/java/com/dtcc/exams/part3/SpeedComparator.java +++ b/src/main/java/com/dtcc/exams/part3/SpeedComparator.java @@ -1,4 +1,19 @@ package com.dtcc.exams.part3; -public class SpeedComparator { -} +import java.util.Comparator; + +public class SpeedComparator implements Comparator { + + @Override + public int compare(Animal animal1, Animal animal2) { + if(animal1.getSpeed() == animal2.getSpeed()){ + return 0; + } + else if(animal1.getSpeed() > animal2.getSpeed()){ + return -1; + } + else if(animal1.getSpeed() < animal2.getSpeed()){ + return 1; + } + return 1; +}}