Eine gute Antwort wäre:

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 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.


FRAGE 19:

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

Inhaltsverzeichnis