19 1 5 -1 27
Die Methode setzt voraus, dass der Anwender die korrekten Daten für die Parameter liefert. Aber Anwender folgen nicht immer den Regeln. Der folgende Aufruf wird nicht funktionieren:
operate.printRange( ar1, 1, 10 );
Es gibt nur acht Elemente von ar1.
Wenn Sie verlangt hätten die Elemente 1 bis 10 auszugeben,
würden Sie sehen:
19 1 5 -1 27 19 5 java.lang.ArrayIndexOutOfBoundsException
Wenn die Methode versucht auf ein nichtexistierendes 8. Element zu zugreifen, löst das Programm eine Ausnahme aus. Hier ist die Methode noch mal, mit einigen neuen Lücken:
class ArrayOps
{
. . .
// Elemente ausgeben von start bis end
void printRange ( int[] x, int start, int end )
{
for ( int index=start; index <= end && ___________ && ___________; index++ )
System.out.print( x[index] + " " );
System.out.println();
}
}
Die neue Version der Methode stellt sicher, dass index
null oder größer ist und kleiner ist als die Länge des Arrays.