diff --git a/src/main/java/com/dtcc/exams/arrays/IntegerArrayUtils.java b/src/main/java/com/dtcc/exams/arrays/IntegerArrayUtils.java index 981c2dc..bec59ff 100644 --- a/src/main/java/com/dtcc/exams/arrays/IntegerArrayUtils.java +++ b/src/main/java/com/dtcc/exams/arrays/IntegerArrayUtils.java @@ -7,7 +7,12 @@ public class IntegerArrayUtils { * @return - identical array with one additional element of `valueToBeAdded` at the end of the array */ public static Integer[] add(Integer[] integerArray, Integer valueToBeAdded) { - return null; + int length=integerArray.length; + Integer[] newArray=new Integer[length+1]; + //copy array integerArray to newArray. + System.arraycopy(integerArray,0,newArray,0,length); + newArray[length]=valueToBeAdded; + return newArray; } /** @@ -16,8 +21,13 @@ public static Integer[] add(Integer[] integerArray, Integer valueToBeAdded) { * @param valueToBeInserted - value of the element to be inserted * @return `integerArray` with `valueToBeInserted` at index number `indexToInsertAt` */ + public static Integer[] replace(Integer[] integerArray, int indexToInsertAt, Integer valueToBeInserted) { - return null; + for(int i=0;iarrayToBeSpliced.length){throw new IllegalArgumentException();} + + String[] newArray=new String[arrayToBeSpliced.length-startingIndex]; + System.arraycopy(arrayToBeSpliced,startingIndex,newArray,0,newArray.length); + return newArray; } } diff --git a/src/main/java/com/dtcc/exams/atm/Account.java b/src/main/java/com/dtcc/exams/atm/Account.java index 85a4854..c97ff62 100644 --- a/src/main/java/com/dtcc/exams/atm/Account.java +++ b/src/main/java/com/dtcc/exams/atm/Account.java @@ -1,25 +1,34 @@ package com.dtcc.exams.atm; public class Account { - + private double balance; public Account(double v) { + this.balance=v; } public double balance() { - return 0.0; + return this.balance; } public boolean closeAccount() { - return false; + if(this.balance<=0){return true;} + else{return false;} } public void deposit(double v) { + this.balance=this.balance+v; } public Double withdraw(double v) { - return 0.0; + if(this.balance>=v) this.balance=this.balance-v; + return this.balance; } public void transfer(Account b, double v) { + if(this.balance>=v) { + this.balance = this.balance() - v; + b.balance = b.balance() + v; + } } + } diff --git a/src/main/java/com/dtcc/exams/collections/Inventory.java b/src/main/java/com/dtcc/exams/collections/Inventory.java index 656eaaa..67ecb54 100644 --- a/src/main/java/com/dtcc/exams/collections/Inventory.java +++ b/src/main/java/com/dtcc/exams/collections/Inventory.java @@ -1,5 +1,6 @@ package com.dtcc.exams.collections; +import java.util.ArrayList; import java.util.List; /** @@ -9,29 +10,40 @@ public class Inventory { /** * @param strings list of strings to add / remove / fetch from */ + List strings; + Integer itemQuantity; public Inventory(List strings) { - + this.strings=strings; + this.itemQuantity=strings.size(); } /** * nullary constructor initializes a new list */ public Inventory() { - + this(new ArrayList()); } /** * @param item - increment the number of this item in stock by 1 */ public void addItemToInventory(String item) { - return; + this.strings.add(item); + this.itemQuantity=strings.size(); } /** * @param item - decrement the number of this item in stock by 1 */ public void removeItemFromInventory(String item) { - return; + if(strings!=null) { + strings.remove(item); + this.itemQuantity=strings.size(); + } + } + + public List getStrings() { + return this.strings; } /** @@ -39,6 +51,9 @@ public void removeItemFromInventory(String item) { * @return - return the number of items */ public Integer getItemQuantity(String item) { - return null; + if(strings.contains(item)){ + + } + return this.itemQuantity; } } diff --git a/src/main/java/com/dtcc/exams/collections/MonthConversion.java b/src/main/java/com/dtcc/exams/collections/MonthConversion.java index f6a6dce..b9a07ac 100644 --- a/src/main/java/com/dtcc/exams/collections/MonthConversion.java +++ b/src/main/java/com/dtcc/exams/collections/MonthConversion.java @@ -1,15 +1,22 @@ package com.dtcc.exams.collections; + +import java.util.HashMap; +import java.util.Map; + /** * Use a map to solve */ public class MonthConversion { + + public Map map=new HashMap<>(); + /** * @param monthNumber - ordinal of month in the year; i.e. January = 1, February = 2 * @param monthName - name of month */ public void add(Integer monthNumber, String monthName) { - + map.put(monthNumber,monthName); } /** @@ -17,15 +24,25 @@ public void add(Integer monthNumber, String monthName) { * @return the name of the respective month */ public String getName(Integer monthNumber) { - throw new NullPointerException(); + if(map.get(monthNumber)!=null) { + if(map.containsKey(monthNumber)){ + return map.get(monthNumber); //{throw new NullPointerException();} + }else return null; + }else return null; } /** * @param monthName - name of month * @return - the ordinal of the month in the year */ - public int getNumber(String monthName) { - return (Integer)null; + public Integer getNumber(String monthName) { + Integer key = null; + for(Map.Entry entry: map.entrySet()) { + if(entry.getValue().equals(monthName)){ + key =entry.getKey(); + } + } + return key; } /** @@ -33,7 +50,7 @@ public int getNumber(String monthName) { * @return true if the monthNumber is in the keySet */ public Boolean isValidNumber(Integer monthNumber) { - return null; + return map.containsKey(monthNumber); } /** @@ -41,14 +58,14 @@ public Boolean isValidNumber(Integer monthNumber) { * @return true if the monthName is in the valueSet */ public Boolean isValidMonth(String monthName) { - return null; + return map.containsValue(monthName); } /** * @return number of entries in this mapping */ public Integer size() { - return -1; + return map.size(); } /** @@ -56,6 +73,8 @@ public Integer size() { * @param monthName - name of month */ public void update(Integer monthNumber, String monthName) { - + if(map.containsKey(monthNumber)){ + map.replace(monthNumber,monthName); + } } } diff --git a/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java b/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java index eebed04..3db6942 100644 --- a/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java +++ b/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java @@ -7,7 +7,7 @@ public class BasicStringUtils { * @return concatenation of `string1` and `string2` */ public static String concatentate(String string1, String string2) { - return null; + return string1+string2; } /** @@ -15,7 +15,13 @@ public static String concatentate(String string1, String string2) { * @return an identical string with characters in reverse order */ public static String reverse(String string1) { - return null; + String newString = ""; + if(string1!=null) { + for (int i = string1.length()-1; i >= 0; i--) { + newString +=string1.charAt(i) + ""; + } + } + return newString; } /** @@ -24,7 +30,17 @@ public static String reverse(String string1) { * @return concatenation of the reverse of `string1` and reverse of `string2` */ public static String reverseThenConcatenate(String string1, String string2) { - return null; + String newString1 = ""; + String newString2 = ""; + if(string1!=null || string2!=null) { + for (int i = string1.length()-1; i >= 0; i--) { + newString1 +=string1.charAt(i) + ""; + } + for (int j= string2.length()-1; j >= 0; j--) { + newString2 +=string2.charAt(j) + ""; + } + } + return newString1+newString2; } /** @@ -33,7 +49,12 @@ public static String reverseThenConcatenate(String string1, String string2) { * @return `string` with `charactersToRemove` removed */ public static String removeCharacters(String string, String charactersToRemove) { - return null; + return string.replaceAll("[ " + charactersToRemove + "]", "") ; + + } + + public static String removeChar(String str,int index){ + return str.substring(0,index)+str.substring(index+1); } /** @@ -42,6 +63,12 @@ public static String removeCharacters(String string, String charactersToRemove) * @return reverse of `string` with `charactersToRemove` removed */ public static String removeCharactersThenReverse(String string, String charactersToRemove) { - return null; + String string1 = string.replaceAll("[ " + charactersToRemove + "]", ""); + String newString = ""; + int length = string1.length(); + for(int i = length - 1; i >= 0; i--){ + newString += string1.charAt(i); + } + return newString; } } diff --git a/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java b/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java index d5e94c5..b4b9af0 100644 --- a/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java +++ b/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java @@ -6,7 +6,7 @@ public class PredicateUtilities { * @return true if `value` is a multiple of 2 */ public static Boolean isEven(Integer value) { - return null; + return value%2==0; } /** @@ -14,7 +14,7 @@ public static Boolean isEven(Integer value) { * @return true if `value` is not a multiple of 2 */ public static Boolean isOdd(Integer value) { - return null; + return value%2==1; } /** @@ -22,7 +22,7 @@ public static Boolean isOdd(Integer value) { * @return true if `value` is a multiple of 3 */ public static Boolean isMultipleOf3(Integer value) { - return null; + return value%3==0; } /** @@ -32,7 +32,8 @@ public static Boolean isMultipleOf3(Integer value) { * @return true if `value` is a multiple of `multiple` */ public static Boolean isMultipleOfN(Integer value, Integer multiple) { - return null; + + return value%multiple==0; } /** @@ -40,6 +41,6 @@ public static Boolean isMultipleOfN(Integer value, Integer multiple) { * @return true if `string` starts with a capital letter */ public static Boolean startsWithCapitalLetter(String string) { - return null; + return Character.isUpperCase(string.charAt(0)); } } diff --git a/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java b/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java index 5ef3237..1859aa2 100644 --- a/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java +++ b/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java @@ -1,6 +1,9 @@ package com.dtcc.exams.fundamentals; +import java.sql.SQLOutput; +import java.util.Arrays; + public class StringUtils { /** * @param stringToBePadded - string value to be flushed right @@ -8,7 +11,12 @@ public class StringUtils { * @return `stringToBePadded` flushed right by left-padding */ public static String padLeft(String stringToBePadded, int amountOfPadding) { - return null; + String strspace=""; + int value=amountOfPadding-stringToBePadded.length(); + for(int i=0;i