CS 1711 Recitation Laboratory 8:
The Array Utility Class

There is nothing to turn in for this recitation. You will get full credit for it if you show up and make an honest attempt to work on the material presented here.

### Case Study 9: Arrays as parameters - the ArrayUtility class

Create a project called cs09. All of the classes in this project will be in the arrayutiliuytpkg package.

The ArrayUtility class, which is patterned after the Math class, contains static methods that perform various operations on arrays of integers.

Create a class called ArrayUtility that will contain the following static methods.
You can find a skeleton for this code here.
Load this into your browser and use cut and paste to put it into an eclipse class.

Create an ArrayUtilityTester class to test the methods.

public static void printForwards(int [] array); // outputs array
public static void printBackwards(int [] array); // outputs array in reverse order
public static int getSum(int [] array); // returns sum of array values
public static double getAverage(int [] array); // returns average of array values
public static int getMax(int [] array); // returns maximum value in array
public static int getMin(int [] array); // returns minimum value in array
public static int [] reverse(int [] array); //returns new array with elements reversed
public static int [] clone(int [] array); // returns a new array with copy of array
public static int find(int [] array, int target); // returns first index of target in array
// or -1 if not there
Test the methods on some arrays of int's.
Make sure that all of your methods work for empty arrays.

If you have time you can also implement the following methods:

public static void reverseInPlace(int [] array); //modifies the array so that the order of the elements are reversed
public static boolean isSortedForward(int [] array); //returns true if the array is sorted smallest to largest
public static boolean isSortedBackwards(int [] array); //returns true if the array is sorted largest to smallest
public static boolean isSorted(int [] array); //returns true if the array is sorted either way
public static boolean isConstant(int [] array); //returns true if all of the elements are the same
And here is one that is slightly harder:
public static int getSecondLargest(int [] array); // returns second largest element of the array.
// this should return the same value as array[1] if the array is sorted
// in increasing order.  Do not modify the array.
// Make sure your solution handles a small array gracefully.