-
Objective
- Ensure StringArrayUtilsTest passes each test by completing the methods stubbed out in the class StringArrayUtils
String getFirstElement(String[] array)
String getSecondElement(String[] array)
String getLastElement(String[] array)
String getSecondToLastElement(String[] array)
boolean contains(String[] array, String value)
String[] reverse(String[] array)
boolean isPalindromic(String[] array)
boolean isPangramic(String[] array)
int getNumberOfOccurrences(String[] array, String value)
String[] removeValue(String[] array, String value)
String[] removeConsecutiveDuplicates(String[] array)
String[] packConsecutiveDuplicates(String[] array)
- Ensure StringArrayUtilsTest passes each test by completing the methods stubbed out in the class StringArrayUtils
-
Purpose
- To establish greater familiarity with loops and arrays.
- To demonstrate the implementation of a Utility class
- And because arrays of Strings are everywhwere in Java. Freakin' Everywhere
Java uses String arrays to store a collection of String values. String arrays are declared and initialized in a similar way to other arrays in Java. Once declared, individual elements of the array can be accessed and manipulated using their index. String arrays are commonly used in Java programs to store and manipulate text data.
You can declare and initialize a String array in Java using the following syntax:
String[] myArray = {"value1", "value2", "value3"};
This creates a String array named myArray with three elements, each initialized with a String value. You can also declare an empty String array and initialize it later:
String[] myArray = new String[3];
myArray[0] = "value1";
myArray[1] = "value2";
myArray[2] = "value3";
This creates an empty String array with three elements, and then initializes each element with a String value.
You can split a sentence into a String array in Java using the split()
method of the String class. The split()
method takes a delimiter as an argument and returns an array of substrings split at each occurrence of the delimiter. Here's an example:
String sentence = "The quick brown fox jumps over the lazy dog";
String[] words = sentence.split(" ");
This splits the sentence string at each space character and stores the resulting substrings in a String array named words. The resulting array will contain the individual words of the sentence as separate elements.
Hmm. That seems important. Maybe I should read it again. Maybe it's really important.
- Description
- Given an array of
String
objects, return the first element of the array.
- Given an array of
-
Sample Script
// : Given String[] array = {"quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"}; // : When String outcome = StringArrayUtils.getFirstElement(array); // : Then System.out.println(outcome);
-
Sample Output
quick
-
Sample Script
// : Given String[] array = {"brown", "fox", "jumps", "over", "the", "lazy", "dog"}; // : When String outcome = StringArrayUtils.getFirstElement(array); // : Then System.out.println(outcome);
-
Sample Output
brown
-
Sample Script
// : Given String[] array = {"fox", "jumps", "over", "the", "lazy", "dog"}; // : When String outcome = StringArrayUtils.getFirstElement(array); // : Then System.out.println(outcome);
-
Sample Output
fox
- Description
- Given an array of
String
objects, return the first element of the array.
- Given an array of
-
Sample Script
// : Given String[] array = {"the", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"}; // : When String outcome = StringArrayUtils.getSecondElement(array); // : Then System.out.println(outcome);
-
Sample Output
quick
-
Sample Script
// : Given String[] array = {"quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"}; // : When String outcome = StringArrayUtils.getFirstElement(array); // : Then System.out.println(outcome);
-
Sample Output
brown
-
Sample Script
// : Given String[] array = {"brown", "fox", "jumps", "over", "the", "lazy", "dog"}; // : When String outcome = StringArrayUtils.getFirstElement(array); // : Then System.out.println(outcome);
-
Sample Output
fox
- Description
- Given an array of
String
objects, return the last element of the array.
- Given an array of
-
Sample Script
// : Given String[] array = {"the", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"}; // : When String outcome = StringArrayUtils.getLastElement(array); // : Then System.out.println(outcome);
-
Sample Output
dog
-
Sample Script
// : Given String[] array = {"the", "quick", "brown", "fox", "jumps", "over", "the", "lazy"}; // : When String outcome = StringArrayUtils.getLastElement(array); // : Then System.out.println(outcome);
-
Sample Output
lazy
-
Sample Script
// : Given String[] array = {"the", "quick", "brown", "fox", "jumps", "over"}; // : When String outcome = StringArrayUtils.getLastElement(array); // : Then System.out.println(outcome);
-
Sample Output
the
- Description
- Given an array of
String
objects, return the next-to-last element of the array.
- Given an array of
-
Sample Script
// : Given String[] array = {"the", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"}; // : When String outcome = StringArrayUtils.getSecondToLastElement(array); // : Then System.out.println(outcome);
-
Sample Output
lazy
-
Sample Script
// : Given String[] array = {"the", "quick", "brown", "fox", "jumps", "over", "lazy"}; // : When boolean outcome = StringArrayUtils.getNextToLastElement(array); // : Then System.out.println(outcome);
-
Sample Output
over
-
Sample Script
// : Given String[] array = {"the", "quick", "brown", "fox", "jumps", "over"}; // : When boolean outcome = StringArrayUtils.getNextToLastElement(array); // : Then System.out.println(outcome);
-
Sample Output
jumps
- Description
- Given an array of
String
objects namedarray
and aString
object namedvalue
return true ifvalue
appears inarrays
.
- Given an array of
-
Sample Script
// : Given String[] array = {"the", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"}; // : When boolean outcome = StringArrayUtils.contains(array, "the"); // : Then System.out.println(outcome);
-
Sample Output
true
-
Sample Script
// : Given String[] array = {"the", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"}; // : When boolean outcome = StringArrayUtils.contains(array, "potatoes"); // : Then System.out.println(outcome);
-
Sample Output
false
- Description
- Given an array of
String
objects, return an array with identical contents in reverse order.
- Given an array of
-
Sample Script
// : Given String[] array = {"the", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"}; // : When boolean outcome = StringArrayUtils.contains(array, "the"); // : Then System.out.println(outcome);
-
Sample Output
[dog, lazy, the, over, jumps, fox, brown, quick, the]
-
Sample Script
// : Given String[] array = {"Pack", "my", "box", "with", "five", "dozen", "liquor", "jugs"}; // : When boolean outcome = StringArrayUtils.contains(array, "potatoes"); // : Then System.out.println(outcome);
-
Sample Output
[jugs, liquor, dozen, five, with, box, my, Pack]
-
Sample Script
// : Given String[] array = {"The", "quick", "onyx", "goblin", "jumps", "over", "the", "lazy", "dwarf"}; // : When boolean outcome = StringArrayUtils.contains(array, "potatoes"); // : Then System.out.println(outcome);
-
Sample Output
[dwarf, lazy, the, over, jumps, goblin, onyx, quick, The]
- Description
- A palindrome is a sequence that is the same backwards and forwards.
- Given an array of
String
objects, returntrue
if the array is palindromic.
-
Sample Script
// : Given String[] array = {"a", "b", "c", "b", "a"} // : When boolean outcome = StringArrayUtils.isPalindrome(array); // : Then System.out.println(outcome);
-
Sample Output
true
-
Sample Script
// : Given String[] array = {"Is this a plaindrome?", "This is a plaindrome", "Is this a palindrome?"} // : When boolean outcome = StringArrayUtils.isPalindrome(array); // : Then System.out.println(outcome);
-
Sample Output
true
-
Sample Script
// : Given String[] array = {"Is this a plaindrome?", "This is not a plaindrome", "Is this a palindrome?", "This is not a palindrome"} // : When boolean outcome = StringArrayUtils.isPalindrome(array); // : Then System.out.println(outcome);
-
Sample Output
false
- Description
- A pangram is a sequence that contains all letters of the alphabet.
- Given an array of
String
objects, returntrue
if the array is palindromic.
-
Sample Script
// : Given String[] array = {"The quick brown", "Fox jumps over", "The lazy dog"} // : When boolean outcome = StringArrayUtils.isPangramic(array); // : Then System.out.println(outcome);
-
Sample Output
true
-
Sample Script
// : Given String[] array = {"The", "quick", "onyx", "goblin", "jumps", "over", "the", "lazy", "dwarf"}; // : When boolean outcome = StringArrayUtils.isPangramic(array); // : Then System.out.println(outcome);
-
Sample Output
true
- Description
- Given an array of
String
objects namedarray
and aString
object namedvalue
return the number of timesvalue
appears inarrays
- Given an array of
-
Sample Script
// : Given String[] array = {"aba", "aba", "baa", "bab", "bba", "bba", "bba", "bba", "bbb", "bbb"}; // : When int numberOfOccurrences = StringArrayUtils.getNumberOfOccurrences(array, "bba"); // : Then System.out.println(numberOfOccurrences);
-
Sample Output
4
-
Sample Script
// : Given String[] array = {"aba", "aba", "baa", "bab", "bba", "bba", "bba", "bba", "bbb", "bbb"}; // : When int numberOfOccurrences = StringArrayUtils.getNumberOfOccurrences(array, "bbb"); // : Then System.out.println(numberOfOccurrences);
-
Sample Output
2
-
Sample Script
// : Given String[] array = {"aba", "aba", "baa", "bab", "bba", "bba", "bba", "bba", "bbb", "bbb"}; // : When int numberOfOccurrences = StringArrayUtils.getNumberOfOccurrences(array, "baa"); // : Then System.out.println(numberOfOccurrences);
-
Sample Output
1
- Description
- Given an array of
String
objects, return an array of Strings with conseuctive duplicates removed.
- Given an array of
-
Sample Script
// : Given String[] array = {"aba", "aba", "baa", "bab", "bba", "bba", "bba", "bba", "bbb", "bbb"}; // : When String[] actual = StringArrayUtils.removeConsecutiveDuplicates(array); // : Then System.out.println(Arrays.toString(actual));
-
Sample Output
[aba, baa, bab, bba, bbb];
-
Sample Script
// : Given String[] array = {"aba", "aba", "baa", "bab", "bba", "zzz", "bba", "bba", "bba", "bbb", "bbb"}; // : When String[] actual = StringArrayUtils.removeConsecutiveDuplicates(array); // : Then System.out.println(Arrays.toString(actual));
-
Sample Output
[aba, baa, bab, bba, zzz, bba, bbb];
-
Sample Script
// : Given String[] array = {"aba", "aba", "baa", "bab", "bba", "zzz", "bba", "bba", "bba", "bbb", "bbb", "aba", "bbb"}; // : When String[] actual = StringArrayUtils.removeConsecutiveDuplicates(array); // : Then System.out.println(Arrays.toString(actual));
-
Sample Output
[aba, baa, bab, bba, zzz, bba, aba, bbb];
- Description
- Given an array of
char
objects, return an array of Strings with consecutive duplicates placed in an array.
- Given an array of
-
Sample Script
// : Given String[] array = {"a", "a", "a", "a", "b", "c", "c", "a", "a", "d"}; // : When String[] actual = StringArrayUtils.packConsecutiveDuplicates(array); // : Then System.out.println(Arrays.toString(actual));
-
Sample Output
[aaa, b, cc, aa, d, eee];
-
Sample Script
// : Given String[] array = {"t", "t", "q", "a", "a", "a", "b", "c", "c", "a", "a", "d", "e", "e", "e"}; // : When String[] actual = StringArrayUtils.packConsecutiveDuplicates(array); // : Then System.out.println(Arrays.toString(actual));
-
Sample Output
[tt, q, aaa, b, cc, aa, d, eee];
-
Sample Script
// : Given String[] array = {"m", "o", "o", "n", "m", "a", "n"} // : When String[] actual = StringArrayUtils.packConsecutiveDuplicates(array); // : Then System.out.println(Arrays.toString(actual));
-
Sample Output
[m, oo, n, m, a, n];
- Description
- Given an array of
String
objects namedarray
and aString
object namedvalueToRemove
create and return an array containing identical contents excluding objects whose value is equivalent tovalueToRemove
. Ensure that the length of the newly created array has been resized based on the removal of the undesired elements.
- Given an array of
-
Sample Script
// : Given String[] array = {"aba", "aba", "baa", "bab", "bba", "bba", "bba", "bba", "bbb", "bbb"}; // : When String[] actual = StringArrayUtils.removeValues(array, "aba"); // : Then System.out.println(Arrays.toString(actual));
-
Sample Output
[baa, bab, bba, bba, bba, bba, bbb, bbb};
-
Sample Script
// : Given String[] array = {"aba", "aba", "baa", "bab", "bba", "bba", "bba", "bba", "bbb", "bbb"}; // : When String[] actual = StringArrayUtils.removeValues(array, "bba"); // : Then System.out.println(Arrays.toString(actual));
-
Sample Output
[aba, aba, baa, bab, bbb, bbb];
-
Sample Script
// : Given String[] array = {"aba", "aba", "baa", "bab", "bba", "bba", "bba", "bba", "bbb", "bbb"}; // : When String[] actual = StringArrayUtils.removeValues(array, "bbb"); // : Then System.out.println(Arrays.toString(actual));
-
Sample Output
[aba, aba, baa, bab, bba, bba, bba, bba];