Skip to content
52 changes: 44 additions & 8 deletions src/main/java/com/dtcc/exams/arrays/IntegerArrayUtils.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
package com.dtcc.exams.arrays;

import java.util.ArrayList;
import java.util.Arrays;

public class IntegerArrayUtils {
/**
* @param integerArray - array to have value added to it
* @param valueToBeAdded - value to be added to the end of the array
* @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;
//create a new array
integerArray = Arrays.copyOf(integerArray, integerArray.length +1);
integerArray[integerArray.length - 1] = valueToBeAdded;
return integerArray;
}

/**
Expand All @@ -17,7 +23,9 @@ public static Integer[] add(Integer[] integerArray, Integer valueToBeAdded) {
* @return `integerArray` with `valueToBeInserted` at index number `indexToInsertAt`
*/
public static Integer[] replace(Integer[] integerArray, int indexToInsertAt, Integer valueToBeInserted) {
return null;
integerArray = Arrays.copyOf(integerArray, integerArray.length);
integerArray[indexToInsertAt] = valueToBeInserted;
return integerArray;
}

/**
Expand All @@ -26,30 +34,58 @@ public static Integer[] replace(Integer[] integerArray, int indexToInsertAt, Int
* @return element located at `indexToFetch`
*/
public static Integer get(Integer[] integerArray, Integer indexToFetch) {
return null;
return Integer.valueOf(integerArray[indexToFetch]);

}

/**
* @param integerArray - array to be evaluated
* @return identical array with even-values incremented by 1 and odd-values decremented by 1
*/
public static Integer[] incrementEvenDecrementOdd(Integer[] integerArray) {
return null;
integerArray = Arrays.copyOf(integerArray, integerArray.length);
for(int i = 0; i < integerArray.length; i++ ){
if(integerArray[i] % 2 == 0){
integerArray[i] = integerArray[i] + 1 ;
}else {
integerArray[i] = integerArray[i] - 1 ;
}

}
return integerArray;

}

/**
* @param integerArray - array to be evaluated
* @return identical array with even-values incremented by 1
*/
public static Integer[] incrementEven(Integer[] integerArray) {
return null;
integerArray = Arrays.copyOf(integerArray, integerArray.length);
for(int i = 0; i < integerArray.length; i++ ){
if(integerArray[i] % 2 == 0){
integerArray[i] = integerArray[i] + 1 ;
}else {
integerArray[i] = integerArray[i];
}

}
return integerArray;
}

/**
* @param input - array to be evaluated
* @return identical array with odd-values decremented by 1
*/
public static Integer[] decrementOdd(Integer[] input) {
return null;
}
}
input = Arrays.copyOf(input, input.length);
for(int i = 0; i < input.length; i++ ){
if(input[i] % 2 != 0){
input[i] = input[i] - 1 ;
}else {
input[i] = input[i];
}

}
return input;
}}
34 changes: 29 additions & 5 deletions src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.dtcc.exams.arrays;

import java.util.Arrays;

public class StringArrayUtils {
/**
* @param arrayToBeSpliced - array to be evaluated
Expand All @@ -8,8 +10,21 @@ public class StringArrayUtils {
* @return an array with all elements between `startingIndex` and `endingIndex`
*/
public static String[] getSubArray(String[] arrayToBeSpliced, int startingIndex, int endingIndex) {
return null;
}

if(startingIndex < 0 && endingIndex < 0){
throw new IllegalArgumentException();
}else {
String[] subarray = new String[endingIndex- startingIndex + 1];
subarray = Arrays.asList(arrayToBeSpliced)
.subList(startingIndex, endingIndex)
.toArray(new String[0]);
return subarray;
//new String[]{Arrays.toString(subarray)};




}}


/**
Expand All @@ -18,6 +33,15 @@ public static String[] getSubArray(String[] arrayToBeSpliced, int startingIndex,
* @return an array all elements between after `startingIndex`
*/
public static String[] getEndingArray(String[] arrayToBeSpliced, int startingIndex) {
return null;
}
}
if(startingIndex < 0 ) {
throw new IndexOutOfBoundsException();
}else if (startingIndex > arrayToBeSpliced.length){
throw new IllegalArgumentException();
}
else {
String[] subarray = new String[arrayToBeSpliced.length- startingIndex + 1];
subarray = Arrays.asList(arrayToBeSpliced)
.subList(startingIndex, arrayToBeSpliced.length)
.toArray(new String[0]);
return subarray;
}}}
19 changes: 16 additions & 3 deletions src/main/java/com/dtcc/exams/atm/Account.java
Original file line number Diff line number Diff line change
@@ -1,25 +1,38 @@
package com.dtcc.exams.atm;

public class Account {
private double bal;


public Account(double v) {
this.bal = v;

}

public double balance() {
return 0.0;
return this.bal;
}

public boolean closeAccount() {
if(this.bal == 0.0){
return true;
}
return false;
}

public void deposit(double v) {
this.bal += v;
}

public Double withdraw(double v) {
return 0.0;
}
if(this.bal == 0){
return 0.0;
}else{
return this.bal -= v;
}}

public void transfer(Account b, double v) {
this.bal -= v;
b.bal += v;
}
}
36 changes: 29 additions & 7 deletions src/main/java/com/dtcc/exams/collections/Inventory.java
Original file line number Diff line number Diff line change
@@ -1,44 +1,66 @@
package com.dtcc.exams.collections;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
* Use a map to keep track of inventory in a store
*/
public class Inventory {

Map<String, Integer> Invent = new HashMap<String, Integer>();

/**
* @param strings list of strings to add / remove / fetch from
*/
public Inventory(List<String> strings) {

for (String item: strings) {
if(Invent.containsKey(item)){
Invent.put(item, Invent.get(item) + 1);
} else {
Invent.put(item, 1);
}
}
}

/**
* nullary constructor initializes a new list
*/
public Inventory() {

}
public Inventory() { }

/**
* @param item - increment the number of this item in stock by 1
*/
public void addItemToInventory(String item) {
return;
if(Invent.containsKey(item)){
Invent.put(item, Invent.get(item) + 1);
} else {
Invent.put(item, 1);
}
}

/**
* @param item - decrement the number of this item in stock by 1
*/
public void removeItemFromInventory(String item) {
return;
if(Invent.containsKey(item)){
Invent.put(item, Invent.get(item) - 1);
}else if (!Invent.containsKey(item)){
//Invent.remove(item, -1);
}
}

/**
* @param item - Search for this item in stock
* @return - return the number of items
*/
public Integer getItemQuantity(String item) {
return null;
if (this.Invent.containsKey(item)) {
return this.Invent.get(item);
} else {
return 0;
}
}
}
36 changes: 29 additions & 7 deletions src/main/java/com/dtcc/exams/collections/MonthConversion.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package com.dtcc.exams.collections;

import java.util.HashMap;
import java.util.Map;

/**
* Use a map to solve
*/
Expand All @@ -8,54 +11,73 @@ public class MonthConversion {
* @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<Integer, String> months = new HashMap<>();

public void add(Integer monthNumber, String monthName) {
months.put(monthNumber, monthName);
}

/**
* @param monthNumber - ordinal of month in the year
* @return the name of the respective month
*/
public String getName(Integer monthNumber) {
throw new NullPointerException();
// throw new NullPointerException();
return months.get(monthNumber);


}

/**
* @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) {
for (Map.Entry entry : months.entrySet()) {
if (entry.getValue().equals(monthName)) {
return (Integer) entry.getKey();
}
}
return null;
}


/**
* @param monthNumber
* @return true if the monthNumber is in the keySet
*/
public Boolean isValidNumber(Integer monthNumber) {
return null;
if(months.containsKey(monthNumber)){
return true;
}
return false;
}

/**
* @param monthName
* @return true if the monthName is in the valueSet
*/
public Boolean isValidMonth(String monthName) {
return null;
if(months.containsValue(monthName)){
return true;
}
return false;
}

/**
* @return number of entries in this mapping
*/
public Integer size() {
return -1;

return months.size();
}

/**
* @param monthNumber - number of month in year
* @param monthName - name of month
*/
public void update(Integer monthNumber, String monthName) {
months.replace(monthNumber, monthName);

}
}
Loading