19 1 5 -1 27
The method assumes that the user will supply correct data for the parameters. But users do not always follow the rules. The following call will not work:
operate.printRange( ar1, 1, 10 );
There are only eight elements of ar1
.
If you asked to print elements 1 through 10 you would see:
19 1 5 -1 27 19 5 java.lang.ArrayIndexOutOfBoundsException
When the method tries to access the non-existing 8th element, the program throws an exception. Here is the method, again, with some new blanks:
class ArrayOps { . . . // print elements start through end void printRange ( int[] x, int start, int end ) { for ( int index=start; index <= end && ___________ && ___________; index++ ) System.out.print( x[index] + " " ); System.out.println(); } }
The new version of the method makes sure that index
is zero or greater, and is less than the length of the array.