From 367ef8259503c0617edc2c78f15bd612094f54e4 Mon Sep 17 00:00:00 2001 From: "github-classroom[bot]" <66690702+github-classroom[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 13:00:53 +0000 Subject: [PATCH 1/6] Setting up GitHub Classroom Feedback From e8f00c98b1aa0459c83d57a6aa313949cc61e4b7 Mon Sep 17 00:00:00 2001 From: Will Date: Mon, 8 Jul 2024 11:04:13 -0400 Subject: [PATCH 2/6] made changes --- .../assessment1/part1/BasicArrayUtils.java | 11 +++--- .../assessment1/part1/BasicStringUtils.java | 34 +++++++++++++++---- .../assessment1/part1/IntegerArrayUtils.java | 31 +++++++++++++++-- .../assessment1/part1/IntegerUtils.java | 32 ++++++++++++++--- .../part1/RockPaperSissorsEvaluator.java | 33 ++++++++++++++++-- .../assessment1/part2/ArrayUtils.java | 27 +++++++++++++-- .../assessment1/part3/Cat.java | 13 ++++++- 7 files changed, 158 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/BasicArrayUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part1/BasicArrayUtils.java index ef714b5..1983beb 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part1/BasicArrayUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part1/BasicArrayUtils.java @@ -9,7 +9,8 @@ public class BasicArrayUtils { * @return the first element in the array */ public static String getFirstElement(String[] stringArray) { - return null; + + return stringArray[0]; } /** @@ -17,7 +18,8 @@ public static String getFirstElement(String[] stringArray) { * @return the second element in the array */ public static String getSecondElement(String[] stringArray) { - return null; + + return stringArray[1]; } /** @@ -25,7 +27,7 @@ public static String getSecondElement(String[] stringArray) { * @return the last element in the array */ public static String getLastElement(String[] stringArray) { - return null; + return stringArray[stringArray.length-1]; } /** @@ -33,6 +35,7 @@ public static String getLastElement(String[] stringArray) { * @return the second to last element in the array */ public static String getSecondToLastElement(String[] stringArray) { - return null; + + return stringArray[stringArray.length-2]; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java index ca13f2d..e42d743 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java @@ -9,7 +9,8 @@ public class BasicStringUtils { * @return string with identical content, and the first character capitalized */ public static String camelCase(String str) { - return null; + + return str.substring(0, 1).toUpperCase() + str.substring(1); } /** @@ -17,7 +18,13 @@ public static String camelCase(String str) { * @return string with identical contents, in the reverse order */ public static String reverse(String str) { - return null; + String reversedStr = ""; + + for (int i = 0; i < str.length(); i++) { + reversedStr = str.charAt(i) + reversedStr; + } + + return reversedStr; } /** @@ -25,7 +32,9 @@ public static String reverse(String str) { * @return string with identical contents, in reverse order, with first character capitalized */ public static String reverseThenCamelCase(String str) { - return null; + + + return reverse(str).substring(0, 1).toUpperCase() + reverse(str).substring(1); } @@ -34,7 +43,9 @@ public static String reverseThenCamelCase(String str) { * @return string with identical contents excluding first and last character */ public static String removeFirstAndLastCharacter(String str) { - return null; + + + return str.substring(1, str.length() - 1); } /** @@ -42,6 +53,17 @@ public static String removeFirstAndLastCharacter(String str) { * @return string with identical characters, each with opposite casing */ public static String invertCasing(String str) { - return null; + StringBuilder string = new StringBuilder(); + + for (char c : str.toCharArray()) { + if (Character.isUpperCase(c)) + c = Character.toLowerCase(c); + + else c = Character.toUpperCase(c); + string.append(c); + } + + + return str; } -} +} \ No newline at end of file diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerArrayUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerArrayUtils.java index 68d82ec..9083f5b 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerArrayUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerArrayUtils.java @@ -9,7 +9,14 @@ public class IntegerArrayUtils { * @return the sum of `intArray` */ public static Integer getSum(Integer[] intArray) { - return null; + int sum = 0; + + for(int i = 0; i <= intArray.length; i++){ + sum = sum + i; + } + + + return sum; } /** @@ -17,7 +24,17 @@ public static Integer getSum(Integer[] intArray) { * @return the product of `intArray` */ public static Integer getProduct(Integer[] intArray) { - return null; + + int sum = 1; + + for(int i : intArray){ + sum = sum * i; + } + + + return sum; + + } /** @@ -25,6 +42,14 @@ public static Integer getProduct(Integer[] intArray) { * @return the sum of `intArray` divided by number of elements in `intArray` */ public static Double getAverage(Integer[] intArray) { - return null; + int sum = 0; + double avg = 0; + for (int i = 0; i <= intArray.length; i++) { + sum = sum + i; + avg = sum/intArray.length; + } + + + return avg; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerUtils.java index eccbb6c..d89acd6 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part1/IntegerUtils.java @@ -11,7 +11,13 @@ public class IntegerUtils { * @return the sum of all integers between 0 and not including `n` */ public static Integer getSumOfN(Integer n) { - return null; + int sum = 0; + + + for (int i = 0; i <= n; i++) { + sum = sum + i; + } + return sum; } /** @@ -19,14 +25,32 @@ public static Integer getSumOfN(Integer n) { * @return the product of all integers between 0 and not including `n` */ public static Integer getProductOfN(Integer n) { - return null; + int sum = 1; + + for (int i = 1; i <= n; i++){ + sum = sum * i;} + + + + return sum; } /** * @param val integer value input by client * @return integer with identical digits in the reverse order */ - public static Integer reverseDigits(Integer val) { - return null; + public static Integer reverseDigits(Integer val) { + int reverse = val; + StringBuilder sb = new StringBuilder(); + sb.append(reverse); + sb = sb.reverse(); + String string = sb.toString(); + + reverse = Integer.parseInt(string); + + return reverse; + + } + } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/RockPaperSissorsEvaluator.java b/src/main/java/com/zipcodewilmington/assessment1/part1/RockPaperSissorsEvaluator.java index 9495445..c08f932 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part1/RockPaperSissorsEvaluator.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part1/RockPaperSissorsEvaluator.java @@ -13,7 +13,17 @@ public class RockPaperSissorsEvaluator { * @return the respective winning move */ public String getWinningMove(String handSign) { - return null; + String winningMove = ""; + if(handSign.equals(ROCK)){ + return PAPER; + } else if (handSign.equals(PAPER)) { + return SCISSOR; + } else if (handSign.equals(SCISSOR)) { + return ROCK; + + } + + return winningMove; } /** @@ -21,7 +31,18 @@ public String getWinningMove(String handSign) { * @return the respective losing move */ public String getLosingMove(String handSign) { - return null; + String losingMove = ""; + + if(handSign.equals(ROCK)){ + return SCISSOR; + } else if (handSign.equals(PAPER)) { + return ROCK; + } else if (handSign.equals(SCISSOR)) { + return PAPER; + + } + + return losingMove; } /** @@ -30,6 +51,12 @@ public String getLosingMove(String handSign) { * @return a string representative of the winning hand sign between the two players */ public String getWinner(String handSignOfPlayer1, String handSignOfPlayer2) { - return null; + String winner = ""; + + if(handSignOfPlayer1.equals(ROCK) && handSignOfPlayer2.equals(SCISSOR)){ + return ROCK; + } + + return winner; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java index bb9995a..a691608 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java @@ -1,5 +1,8 @@ package com.zipcodewilmington.assessment1.part2; +import java.util.ArrayList; +import java.util.List; + /** * Created by leon on 2/16/18. */ @@ -11,7 +14,15 @@ public class ArrayUtils { * Given an array of objects, named `objectArray`, and an object `objectToCount`, return the number of times the `objectToCount` appears in the `objectArray` */ public static Integer getNumberOfOccurrences(Object[] objectArray, Object objectToCount) { - return null; + int counter = 0; + + for(Object c : objectArray){ + if(c.equals(objectToCount)){ + counter++; + } + } + + return counter; } /** @@ -21,7 +32,16 @@ public static Integer getNumberOfOccurrences(Object[] objectArray, Object object * Given an array of objects, name `objectArray`, and an object `objectToRemove`, return an array of objects with identical contents excluding `objectToRemove` */ public static Object[] removeValue(Object[] objectArray, Object objectToRemove) { - return null; + List objects = new ArrayList<>(); + for(Object c : objectArray){ + if(!c.equals(objectToRemove)){ + objects.add(c); + } + } + Object[] newObject = objects.toArray(); + + + return newObject; } /** @@ -30,6 +50,9 @@ public static Object[] removeValue(Object[] objectArray, Object objectToRemove) * given an array of objects, named `objectArray` return the most frequently occuring object in the array */ public static Object getMostCommon(Object[] objectArray) { + + + return null; } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java index e731b77..1d5c8e9 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java @@ -4,18 +4,25 @@ * Created by leon on 2/16/18. */ public class Cat extends Pet { + + private String name; + private int age; /** * @param name name of this Cat * @param age age of this Cat */ public Cat(String name, Integer age) { + this.name = name; + this.age = age; + } /** * @param age age of this Cat */ public Cat(Integer age) { + this.age = age; } /** @@ -23,6 +30,7 @@ public Cat(Integer age) { */ public Cat(String name) { + this.name = name; } /** @@ -32,12 +40,15 @@ public Cat(String name) { * age is 0 */ public Cat() { + this.name = "John"; + this.age = Integer.MAX_VALUE; } /** * @return meow as a string */ public String speak() { - return null; + + return "Meow"; } } From cbe0be7319a4de7c8c6e65d977c3b0a6f5aa02dc Mon Sep 17 00:00:00 2001 From: Will Date: Mon, 8 Jul 2024 12:55:55 -0400 Subject: [PATCH 3/6] made changes --- .../assessment1/part2/ArrayUtils.java | 68 ++++++++++++++++++- .../assessment1/part2/MultiplesDeleter.java | 55 +++++++++++++-- .../assessment1/part2/StringUtils.java | 36 ++++++++-- .../assessment1/part3/Cat.java | 18 +++-- .../assessment1/part3/Dog.java | 4 +- .../assessment1/part3/Pet.java | 15 +++- .../assessment1/part3/PetOwner.java | 11 ++- .../assessment1/part4/Jumper.java | 14 +++- .../assessment1/part5/Palindrome.java | 13 +++- 9 files changed, 209 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java index a691608..352b185 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java @@ -1,7 +1,9 @@ package com.zipcodewilmington.assessment1.part2; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * Created by leon on 2/16/18. @@ -52,8 +54,29 @@ public static Object[] removeValue(Object[] objectArray, Object objectToRemove) public static Object getMostCommon(Object[] objectArray) { + Map counMap = new HashMap<>();//Hashmap to store count of each object - return null; + //Iterate through array to count occurences of each object + for(Object object : objectArray){ + if(counMap.containsKey(object)){ + counMap.put(object, counMap.get(object)+1); + } + else counMap.put(object, 1); + } + + //Variables to track the most frequent object and its counts + Object mostfreq = null; + int maxCount = 0; + + //Iterate through the countMap to find the object with highest count + for (Map.Entry entry : counMap.entrySet()){ + if(entry.getValue() > maxCount){ + maxCount = entry.getValue(); + mostfreq = entry.getKey(); +; } + } + + return mostfreq; } @@ -63,7 +86,32 @@ public static Object getMostCommon(Object[] objectArray) { * given an array of objects, named `objectArray` return the least frequently occuring object in the array */ public static Object getLeastCommon(Object[] objectArray) { - return null; + + Map counMap = new HashMap<>();//Hashmap to store count of each object + + //Iterate through array to count occurences of each object + for(Object object : objectArray){ + if(counMap.containsKey(object)){ + counMap.put(object, counMap.get(object)+1); + } + else counMap.put(object, 1); + } + + //Variables to track the most frequent object and its counts + Object minfreq = null; + int minCount = Integer.MAX_VALUE; + + //Iterate through the countMap to find the object with highest count + for (Map.Entry entry : counMap.entrySet()){ + if(entry.getValue() < minCount){ + minCount = entry.getValue(); + minfreq = entry.getKey(); + ; } + } + + + + return minfreq; } /** @@ -73,6 +121,20 @@ public static Object getLeastCommon(Object[] objectArray) { * given two arrays `objectArray` and `objectArrayToAdd`, return an array containing all elements in `objectArray` and `objectArrayToAdd` */ public static Object[] mergeArrays(Object[] objectArray, Object[] objectArrayToAdd) { - return null; + + //Calculate the length of the resulting array + int mergedLlength = objectArray.length + objectArray.length; + + //Create a new array with the calculated length + Object[] mergedArray = new Object[mergedLlength]; + + //Copy elements from objectArrayToAdd to mergedArray + System.arraycopy(objectArray, 0, mergedArray, 0, objectArray.length); + + //Copy elements from objectArraytoAdd to mergedArry + System.arraycopy(objectArrayToAdd, 0, mergedArray, objectArray.length, objectArray.length); + + + return mergedArray ; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part2/MultiplesDeleter.java b/src/main/java/com/zipcodewilmington/assessment1/part2/MultiplesDeleter.java index a348b0d..5b657ff 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part2/MultiplesDeleter.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part2/MultiplesDeleter.java @@ -1,5 +1,8 @@ package com.zipcodewilmington.assessment1.part2; +import java.util.ArrayList; +import java.util.List; + /** * Created by leon on 2/16/18. */ @@ -10,7 +13,16 @@ public class MultiplesDeleter { * given an array of integers, named `ints` return an identical array with evens removed */ public Integer[] deleteEvens(Integer[] ints) { - return null; + ListoddList = new ArrayList<>(); + for(Integer i : ints){ + if(i % 2!=0){ + oddList.add(i); + } + } + + Integer[] answer = oddList.toArray(new Integer[oddList.size()]); + + return answer; } /** @@ -19,7 +31,19 @@ public Integer[] deleteEvens(Integer[] ints) { * given an array of integers, named `ints` return an identical array with odds removed */ public Integer[] deleteOdds(Integer[] ints) { - return null; + + ListevenList = new ArrayList<>(); + for(Integer i : ints){ + if(i % 2==0){ + evenList.add(i); + } + } + + Integer[] answer = evenList.toArray(new Integer[evenList.size()]); + + return answer; + + } /** @@ -28,7 +52,18 @@ public Integer[] deleteOdds(Integer[] ints) { * given an array of integers, named `ints` return an identical array with numbers indivisible by 3 removed */ public Integer[] deleteMultiplesOf3(Integer[] ints) { - return null; + + + ListthreeList = new ArrayList<>(); + for(Integer i : ints){ + if(i % 3!=0){ + threeList.add(i); + } + } + + Integer[] answer = threeList.toArray(new Integer[threeList.size()]); + + return answer; } /** @@ -38,6 +73,18 @@ public Integer[] deleteMultiplesOf3(Integer[] ints) { * given an array of integers, named `ints` return an identical array with numbers indivisible by `multiple` removed */ public Integer[] deleteMultiplesOfN(Integer[] ints, int multiple) { - return null; + + ListnList = new ArrayList<>(); + for(Integer i : ints){ + if(i % multiple!=0){ + nList.add(i); + } + } + + Integer[] answer = nList.toArray(new Integer[nList.size()]); + + return answer; + + } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java index fc403e5..13744a9 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part2/StringUtils.java @@ -11,7 +11,9 @@ public class StringUtils { * given a string containing words delimited by spaces, representative of a sentence, return an array of strings, each element representative of a respective word in the sentence */ public static String[] getWords(String sentence) { - return null; + + String[] strArray = sentence.split(" "); + return strArray; } @@ -21,7 +23,9 @@ public static String[] getWords(String sentence) { * given a string containing words delimited by spaces, representative of a sentence, return the first word of the sentence */ public static String getFirstWord(String sentence) { - return null; + + + return sentence.substring(0, sentence.indexOf(" ")); } /** @@ -30,7 +34,15 @@ public static String getFirstWord(String sentence) { * given a string containing words delimited by spaces, representative of a sentence, return the first word with identical contents in reverse order */ public static String reverseFirstWord(String sentence) { - return null; + String string = getFirstWord(sentence); + String reversed = ""; + + for (int i = 0; i < string.length(); i++){ + reversed = string.charAt(i) + reversed; + } + + + return reversed; } /** @@ -39,7 +51,16 @@ public static String reverseFirstWord(String sentence) { * given a string containing words delimited by spaces, representative of a sentence, return the first word with identical contents in reverse order with the first character capitalized */ public static String reverseFirstWordThenCamelCase(String sentence) { - return null; + + String string = getFirstWord(sentence); + String camel = ""; + + for(int i =0; i Date: Mon, 8 Jul 2024 15:40:19 -0400 Subject: [PATCH 4/6] made changes --- .../assessment1/part3/Animal.java | 1 + .../assessment1/part3/Cat.java | 30 ++++++++++++++++--- .../assessment1/part3/Dog.java | 23 +++++++++++++- .../assessment1/part3/Pet.java | 11 +++++-- .../assessment1/part3/PetOwner.java | 27 +++++++++++++++-- .../assessment1/part5/Palindrome.java | 26 +++++++++++----- 6 files changed, 100 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Animal.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Animal.java index 658bb25..84241a5 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/Animal.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Animal.java @@ -5,4 +5,5 @@ */ public interface Animal { String speak(); + } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java index ecada33..8553f69 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Cat.java @@ -14,12 +14,12 @@ public class Cat extends Pet { private String name; private int age; - private String petOwner; + private PetOwner owner; public Cat(String name, Integer age) { + this.name = name; - name = ""; - age = Integer.MAX_VALUE; + this.age = age; } @@ -27,6 +27,7 @@ public Cat(String name, Integer age) { * @param age age of this Cat */ public Cat(Integer age) { + this.name = "Cat name"; this.age = age; } @@ -46,7 +47,7 @@ public Cat(String name) { * age is 0 */ public Cat() { - this.name = "CatName"; + this.name = "Cat name"; this.age = 0; } @@ -57,4 +58,25 @@ public String speak() { return "Meow"; } + + + + @Override + public int getAge() { + return age; + } + +// public void setAge(int age) { +// this.age = 0; +// } + + @Override + public String getName() { + return name; + } + +// public void setName(String name) { +// +// this.name = "Cat name"; +// } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java index 4530968..712b06d 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Dog.java @@ -8,20 +8,31 @@ public class Dog extends Pet { * @param name name of this Dog * @param age age of this dog */ + + private int age; + private String name; + private PetOwner petOwner; + public Dog(String name, Integer age) { + this.name = name; + this.age = age; + } /** * @param age age of this dog */ public Dog(Integer age) { + this.name = "Dog name"; + this.age = age; } /** * @param name name of this dog */ public Dog(String name) { + this.name = name; } @@ -32,6 +43,9 @@ public Dog(String name) { * age is 0 */ public Dog() { + this.name = "Dog name"; + this.age = 0; + } /** @@ -40,6 +54,13 @@ public Dog() { public String speak() { - return "Woof"; + return "Bark"; + } + + public int getAge(){ + return age; + } + public String getName(){ + return name; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java b/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java index e2d0d84..914f6dd 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/Pet.java @@ -1,5 +1,7 @@ package com.zipcodewilmington.assessment1.part3; +import java.security.acl.Owner; + /** * Created by leon on 2/16/18. */ @@ -10,9 +12,10 @@ public abstract class Pet implements Animal { */ private int age; private String name; + private PetOwner petOwner; public Pet() { - this.age = Integer.MAX_VALUE; + this.age = 0; this.name = ""; } @@ -51,7 +54,7 @@ public String getName() { /** * @return age of this pet */ - public Integer getAge() { + public int getAge() { return age; } @@ -61,12 +64,14 @@ public Integer getAge() { * ensure this instance of `Pet` is added to the owner's composite `pets` list */ public void setOwner(PetOwner newPetOwner) { + this.petOwner = newPetOwner; } /** * @return PetOwner object whose composite `pets` collection contains this Pet instance */ public PetOwner getOwner() { - return null; + + return petOwner; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java b/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java index 5e90311..9c42b97 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java @@ -1,5 +1,8 @@ package com.zipcodewilmington.assessment1.part3; +import java.util.ArrayList; +import java.util.Arrays; + /** * Created by leon on 2/16/18. */ @@ -10,10 +13,15 @@ public class PetOwner { * */ private String name; - private String pets; + + private PetOwner petOwner; + private ArrayList pets; + public PetOwner(String name, Pet... pets) { this.name = name; + this.pets = new ArrayList<>(); + } @@ -21,6 +29,8 @@ public PetOwner(String name, Pet... pets) { * @param pet pet to be added to the composite collection of Pets */ public void addPet(Pet pet) { + + addPet(pet); } @@ -28,7 +38,9 @@ public void addPet(Pet pet) { * @param pet pet to be removed from the composite collection Pets */ public void removePet(Pet pet) { - removePet(pet); + pets.add(pet); + + removePet(pet); } /** @@ -45,6 +57,8 @@ public Boolean isOwnerOf(Pet pet) { * @return the age of the Pet object whose age field is the lowest amongst all Pets in this class */ public Integer getYoungetPetAge() { + + return null; } @@ -55,6 +69,8 @@ public Integer getYoungetPetAge() { * @return the age of the Pet object whose age field is the highest amongst all Pets in this class */ public Integer getOldestPetAge() { + + return null; } @@ -63,6 +79,8 @@ public Integer getOldestPetAge() { * @return the sum of ages of Pet objects stored in this class divided by the number of Pet object */ public Float getAveragePetAge() { + + return null; } @@ -70,6 +88,7 @@ public Float getAveragePetAge() { * @return the number of Pet objects stored in this class */ public Integer getNumberOfPets() { + return null; } @@ -77,13 +96,15 @@ public Integer getNumberOfPets() { * @return the name property of the Pet */ public String getName() { - return null; + + return name; } /** * @return array representation of animals owned by this PetOwner */ public Pet[] getPets() { + return null; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part5/Palindrome.java b/src/main/java/com/zipcodewilmington/assessment1/part5/Palindrome.java index 9e79f91..3c94079 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part5/Palindrome.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part5/Palindrome.java @@ -4,16 +4,28 @@ public class Palindrome { public Integer countPalindromes(String input){ - int n = input.length(); - - for (int i =0; i<(n/2); ++i){ - if(input.charAt(i) != input.charAt(n-i-1)){ - return null; + int size = input.length(); + int count = size; + for(int i=0; i Date: Mon, 8 Jul 2024 16:49:55 -0400 Subject: [PATCH 5/6] done --- .../assessment1/part2/ArrayUtils.java | 6 +++++- .../assessment1/part3/PetOwner.java | 14 ++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java index 352b185..9d40e94 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java @@ -34,13 +34,17 @@ public static Integer getNumberOfOccurrences(Object[] objectArray, Object object * Given an array of objects, name `objectArray`, and an object `objectToRemove`, return an array of objects with identical contents excluding `objectToRemove` */ public static Object[] removeValue(Object[] objectArray, Object objectToRemove) { + + + List objects = new ArrayList<>(); for(Object c : objectArray){ if(!c.equals(objectToRemove)){ objects.add(c); } + } - Object[] newObject = objects.toArray(); + Object[] newObject = objects.toArray(new Object[objects.size()]); return newObject; diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java b/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java index 9c42b97..75becb0 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java @@ -2,6 +2,7 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.List; /** * Created by leon on 2/16/18. @@ -15,7 +16,7 @@ public class PetOwner { private String name; private PetOwner petOwner; - private ArrayList pets; + private List pets; public PetOwner(String name, Pet... pets) { @@ -23,6 +24,7 @@ public PetOwner(String name, Pet... pets) { this.pets = new ArrayList<>(); + } /** @@ -31,16 +33,16 @@ public PetOwner(String name, Pet... pets) { public void addPet(Pet pet) { - addPet(pet); + pets.add(pet); } /** * @param pet pet to be removed from the composite collection Pets */ public void removePet(Pet pet) { - pets.add(pet); - removePet(pet); + + pets.remove(pet); } /** @@ -89,7 +91,7 @@ public Float getAveragePetAge() { */ public Integer getNumberOfPets() { - return null; + return pets.size(); } /** @@ -105,6 +107,6 @@ public String getName() { */ public Pet[] getPets() { - return null; + return pets.toArray(new Pet[0]); } } From 2d64f50bd2e64e07b9b7f414cf65f32f61f22652 Mon Sep 17 00:00:00 2001 From: Will Date: Wed, 10 Jul 2024 18:03:21 -0400 Subject: [PATCH 6/6] passed all test! --- pom.xml | 4 +- .../assessment1/part1/BasicStringUtils.java | 29 ++++++++---- .../assessment1/part2/ArrayUtils.java | 47 ++++++++++--------- .../assessment1/part3/PetOwner.java | 42 +++++++++++++---- .../assessment1/part4/Jumper.java | 24 +++++----- 5 files changed, 93 insertions(+), 53 deletions(-) diff --git a/pom.xml b/pom.xml index b029312..510b582 100644 --- a/pom.xml +++ b/pom.xml @@ -14,8 +14,8 @@ maven-compiler-plugin 3.8.0 - 1.8 - 1.8 + 11 + 11 diff --git a/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java index e42d743..aad8e6d 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part1/BasicStringUtils.java @@ -53,17 +53,28 @@ public static String removeFirstAndLastCharacter(String str) { * @return string with identical characters, each with opposite casing */ public static String invertCasing(String str) { - StringBuilder string = new StringBuilder(); - for (char c : str.toCharArray()) { - if (Character.isUpperCase(c)) - c = Character.toLowerCase(c); + char[] characters = str.toCharArray(); - else c = Character.toUpperCase(c); - string.append(c); + for (int i =0; i < characters.length; i++){ + char c = characters[i]; + if(Character.isUpperCase(c)){ + characters[i] = Character.toLowerCase(c); + } else if (Character.isLowerCase(c)) { + characters[i] = Character.toUpperCase(c); } - - - return str; + } +// StringBuilder string = new StringBuilder(); +// +// for (char c : str.toCharArray()) { +// if (Character.isUpperCase(c)) +// c = Character.toLowerCase(c); +// +// else c = Character.toUpperCase(c); +// string.append(c); +// } + + + return new String(characters); } } \ No newline at end of file diff --git a/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java b/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java index 9d40e94..3729cdb 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java @@ -1,9 +1,6 @@ package com.zipcodewilmington.assessment1.part2; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * Created by leon on 2/16/18. @@ -35,19 +32,18 @@ public static Integer getNumberOfOccurrences(Object[] objectArray, Object object */ public static Object[] removeValue(Object[] objectArray, Object objectToRemove) { + List resultList = new ArrayList<>(); - - List objects = new ArrayList<>(); - for(Object c : objectArray){ - if(!c.equals(objectToRemove)){ - objects.add(c); + for(Object obj : objectArray){ + if(!obj.equals(objectToRemove)){ + resultList.add(obj); } - } - Object[] newObject = objects.toArray(new Object[objects.size()]); - return newObject; + + + return resultList.toArray(Integer[] ::new); } /** @@ -126,19 +122,28 @@ public static Object getLeastCommon(Object[] objectArray) { */ public static Object[] mergeArrays(Object[] objectArray, Object[] objectArrayToAdd) { - //Calculate the length of the resulting array - int mergedLlength = objectArray.length + objectArray.length; + int lenght1 = objectArray.length; + int length2 = objectArrayToAdd.length; + int combinedLength = lenght1 + length2; + + Object[] resultArray = Arrays.copyOf(objectArray, combinedLength); + System.arraycopy(objectArrayToAdd, 0, resultArray, lenght1, length2); - //Create a new array with the calculated length - Object[] mergedArray = new Object[mergedLlength]; - //Copy elements from objectArrayToAdd to mergedArray - System.arraycopy(objectArray, 0, mergedArray, 0, objectArray.length); - //Copy elements from objectArraytoAdd to mergedArry - System.arraycopy(objectArrayToAdd, 0, mergedArray, objectArray.length, objectArray.length); +// //Calculate the length of the resulting array +// int mergedLlength = objectArray.length + objectArray.length; +// +// //Create a new array with the calculated length +// Object[] mergedArray = new Object[mergedLlength]; +// +// //Copy elements from objectArrayToAdd to mergedArray +// System.arraycopy(objectArray, 0, mergedArray, 0, objectArray.length); +// +// //Copy elements from objectArraytoAdd to mergedArry +// System.arraycopy(objectArrayToAdd, 0, mergedArray, objectArray.length, objectArray.length); - return mergedArray ; + return resultArray ; } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java b/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java index 75becb0..b6f4356 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part3/PetOwner.java @@ -23,8 +23,12 @@ public PetOwner(String name, Pet... pets) { this.name = name; this.pets = new ArrayList<>(); - - + if(pets != null) { + for (Pet pet : pets) { + this.pets.add(pet); + pet.setOwner(this); + } + } } /** @@ -52,16 +56,22 @@ public void removePet(Pet pet) { public Boolean isOwnerOf(Pet pet) { - return null; + return pets.contains(pet); } /** * @return the age of the Pet object whose age field is the lowest amongst all Pets in this class */ public Integer getYoungetPetAge() { - - - return null; + int age= pets.get(0).getAge(); + for(Pet pet : pets ){ + //if this pet is younger update value of age + if(pet.getAge() < age){ + age = pet.getAge(); + } + } + + return age; } @@ -72,8 +82,17 @@ public Integer getYoungetPetAge() { */ public Integer getOldestPetAge() { + int age= pets.get(0).getAge(); + for(Pet pet : pets ){ + //if this pet is younger update value of age + if(pet.getAge() > age){ + age = pet.getAge(); + } + } + + return age; + - return null; } @@ -82,8 +101,13 @@ public Integer getOldestPetAge() { */ public Float getAveragePetAge() { + int sum = 0; + + for(Pet pet : pets){ + sum += pet.getAge(); + } - return null; + return (float) sum/pets.size(); } /** @@ -107,6 +131,6 @@ public String getName() { */ public Pet[] getPets() { - return pets.toArray(new Pet[0]); + return pets.toArray(new Pet[pets.size()+1]); } } diff --git a/src/main/java/com/zipcodewilmington/assessment1/part4/Jumper.java b/src/main/java/com/zipcodewilmington/assessment1/part4/Jumper.java index cb26d47..7c41fe2 100644 --- a/src/main/java/com/zipcodewilmington/assessment1/part4/Jumper.java +++ b/src/main/java/com/zipcodewilmington/assessment1/part4/Jumper.java @@ -6,16 +6,16 @@ public class Jumper { * Complete the function below. */ public int jumps(int k, int j) { - if(k < j){ - return k; - } - - else if (k % j == 0) { - return k / j; - } else { - - return k / j + 1; - } - - } +// if(k < j){ +// return k; +// } +// +// else if (k % j == 0) { +// return k / j; +// } else { +// +// return k / j + 1; +// } + return (k/j) + (k % j); + } } \ No newline at end of file