Eine gute Antwort könnte sein:

Zurückgeben, wenn gefunden

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 untenstehende Programm enthält mehr von der Suchmethode. Untersuchen Sie die zweite if-Anweisung. Sie ist so geschrieben worden, dass sie - sobald target erkannt wurde - sofort mit dem Index des Slots, indem target gefunden wurde zum Aufrufer zurückkehrt.

class Searcher
{
  // target suchen in dem Array von Strings.
  // Index wo es gefunden wurde zurückgeben oder -1, wenn es nicht gefunden wurde.
  public static int search( 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 SearchTester
{
  public static void main ( String[] args )
  {
    . . . . . .
    int where = Searcher.search( 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.


FRAGE 19:

Sie wissen was Sie mit diesen Lücken zu tun haben.