The complete program is given below.
Here is the program.
Carefully examine how the if statement is used
to change max.
class MaxAlgorithm
{
public static void main ( String[] args )
{
int[] array = { -20, 19, 1, 5, -1, 27, 19, 5 } ;
int max;
// initialize the current maximum
max = array[0];
// scan the array
for ( int index=0; index < array.length; index++ )
{
if ( array[ index ] > max ) // examine the current element
max = array[ index ]; // if it is the largest so far, change max
}
System.out.println("The maximum of this array is: " + max );
}
}
Try to run this program. Once you have it running see if you can "break" it by initializing the array to different values:
Is the correct maximum found in each case? Sometimes a program works for the data a programmer was thinking about when the program was written, but not for all the kinds of data the program is used with.
Here is a classic bug for this type of program:
change the test part of the for to
index < array.length-1