## Exercises

No. 190

### Various integer array algorithms

 Q: The following Maven project contains a series of yet unimplemented methods and corresponding tests currently being excluded by an @Disabled annotation: Maven module source code available at P/Sd1/Array/arraycalcExercise. ... @Disabled // Remove me to enable testing your application @SuppressWarnings("javadoc") public class ArrayMethodTest { @Test public void testFindIndex(){ assertEquals(Arraymethods.findIndex(new int[]{1, 3, -3, 5}, -3), 2);...Import this project for getting started. The following hints may help you completing the implementation swap This effectively requires extending the concept of swapping just two integer values within a block int a = 3, b = 5; // Other code ... {// Swap values of a and b final int tmp = a; a = b; b = tmp; } isPalindrome Consider a two step implementation: Normalize a given palindrome candidate by transforming to lower case and erasing non-letters: Hey, Roy! Am I mayor? Yeh! --> heyroyamimayoryeh You may search the API of class Character assisting you to distinguish letters from non-letters. Check the remaining string for being a palindrome. containsSameElements You may copy int[] b array to a “shadow” array and then subsequently erase all elements of int[] a from this copy. The method findIndex is quite helpful. Consider for example int[] bCopy = {1, 3, 4, 3, 7} containing 5 elements. Suppose our array a contains the value 3 which exists at index position 1 in bCopy. We may override the value index position 1 by the last array value 7 and thereby keeping track of reducing the number of array elements to 4 like {1, 7, 4, 3}. Off course the array bCopy cannot shrink. But we may introduce an integer variable to account for the effective number of array elements still to be considered. If and only if all elements from a are subsequently found within bCopy the two arrays a and b are equal. A: Maven module source code available at P/Sd1/Array/arraycalcSolution.