Answer:

When the method is called, ar1 is a reference to the array object.

Complete Program

The method findMax() gets a reference to the array, so it can access the elements of that array object. Here is a complete program that contains both classes.

class ArrayOps
{                          // the parameter x refers to the data
  int findMax( int[] x )   //  this method is called with.                     
  {
    int max = x[0];

    for ( int index=0; index <x.length; index++ )
      if ( x[index] > max )
        max = x[index] ;

    return max ;
  }
}

class ArrayDemo
{
  public static void main ( String[] args ) 
  {
    int[] ar1 =  { -20, 19, 1, 5, -1, 27, 19, 5 } ;

    ArrayOps operate = new ArrayOps();     // create an ArrayOps object
    int biggest = operate.findMax( ar1 );  // call the findMax() method with the array
    System.out.println("The maximum is: " + biggest );
  }

}      

When you run the program it prints out "The maximum is: 27". You might want to copy this program to a file (call it ArrayDemo.java) and play with it.

QUESTION 5:

During one run of the program, how many arrays are created?