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; } } 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]; + } } diff --git a/src/main/java/com/dtcc/exams/part2/ArrayUtility.java b/src/main/java/com/dtcc/exams/part2/ArrayUtility.java index 41885cb..fc25500 100644 --- a/src/main/java/com/dtcc/exams/part2/ArrayUtility.java +++ b/src/main/java/com/dtcc/exams/part2/ArrayUtility.java @@ -1,21 +1,82 @@ package com.dtcc.exams.part2; +import java.lang.reflect.Array; +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) { + Integer[] result = new Integer[array.length]; + + + int j=0; + for(int i=index; i 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/main/java/com/dtcc/exams/part2/ListUtility.java b/src/main/java/com/dtcc/exams/part2/ListUtility.java index 4c4e910..2c39832 100644 --- a/src/main/java/com/dtcc/exams/part2/ListUtility.java +++ b/src/main/java/com/dtcc/exams/part2/ListUtility.java @@ -1,31 +1,59 @@ 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 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; } 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/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); + } + } } } 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; +}} 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; 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); }