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