Das vollständige Programm steht unten.
Hier ist das Programm.
Studieren Sie sorgfältig, wie die if
-Anweisung verwendet wurde, um
max
zu ändern.
class MaxAlgorithmus { public static void main ( String[] args ) { int[] array = { -20, 19, 1, 5, -1, 27, 19, 5 } ; int max; // das gegenwärtige Maximum initialisieren max = array[0]; // das Array durchsuchen for ( int index = 0; index < array.length; index++ ) { if ( array[ index ] > max ) // das gegenwärtige Element untersuchen max = array[ index ]; // wenn es bis dahin das Größte ist, max ändern } System.out.println("Das Maximum dieses Arrays ist: " + max ); } }
Probieren Sie das Programm aus. Versuchen Sie, sobald Sie es zum Laufen gebracht haben, ob Sie das Programm "brechen" können, indem Sie das Array mit anderen Werten initialisieren:
Wird das korrekte Maximum in jedem Fall gefunden? Manchmal funktioniert ein Programm mit den Daten, an die der Programmierer gedacht hat, als er das Programm geschrieben hat, aber nicht mit all den möglichen Daten, mit dem das Programm dann verwendet wird.
Hier ist ein klassischer Bug für diese Art von Programm.
Ändern Sie den Testteil von for
in
index < array.length-1