zur vorherigen Seite  zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Zurückgeben, wenn gefunden

Solange Ihr keinen Spaß daran habt bis spät nachts Programme zu debuggen, die keine Chance haben jemals zu laufen, seht Euch diese drei Antworten ganz genau an. Zwei von ihnen (die falschen) sind sehr häufige Programmierfehler. Sie werden Euch passieren. Lernt sie zu erkennen.

Das unten stehende Programm enthält die suchen()-Methode mit weiteren Anweisungen. Die zweite if-Anweisung kehrt sofort mit dem Index der gefundenen Zelle zum Aufrufer zurück.

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.


class Suche
{
  // 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 SucheTester
{
  public static void main ( String[] args )
  {
    . . . . . .
    int wo = Suche.suchen( strArray, "Peoria" );
    . . . . . .
  }
}

FRAGE 8:

Ihr wisst, was mit diesen Lücken zu tun ist.

zur vorherigen Seite  zum Inhaltsverzeichnis   zur nächsten Seite