array[ j ] = target
target
enthalten ist in den Slot j
des
Arrays.array[ j ] == target
array[ j ].equals( target )
Solange Sie keinen Spaß daran haben bis spät nachts Programme zu debuggen, die keine Chance haben jemals zu laufen, sehen Sie sich diese drei Antworten genau an. Zwei von ihnen (die falschen) sind sehr häufige Programmierfehler. Sie werden Ihnen passieren. Lernen Sie, sie zu erkennen.
Das unten stehende Programm enthält die suchen()
-Methode mit weiteren Anweisungen.
Untersuchen Sie die zweite if
-Anweisung.
Sie ist so geschrieben worden, dass sie — sobald target
gefunden wurde — sofort mit dem Index des Slots zum Aufrufer zurückkehrt, indem sich target
befindet.
class Liste { // Target suchen in dem Array von Strings. // Index, wo es gefunden wurde, oder -1, wenn es nicht gefunden wurde, zurückgeben. public static int suchen( String[] array, String target ) { for ( int j=0; j < array.length; j++ ) if ( array[j] != null ) if ( array[j].equals( target ) ) return ________ ; return ________ ; // Außerhalb der Schleife! } } class ListeTester { public static void main ( String[] args ) { . . . . . . int wo = Liste.suchen( strArray, "Peoria" ); . . . . . . } }
Die zweite return
-Anweisung ist NICHT Teil des Schleifenkörpers.
Sie wird nur dann ausgeführt, wenn jeder Slot des Arrays untersucht worden ist
und das Zielelement nicht gefunden wurde.