Eine gute Antwort wäre:

Das vervollständigte Programm steht unten.

Vollständiges Programm

Hier ist das vollständige Programm. Sobald die for-Schleife den Slot findet, der das Zielelement enthält, kehrt die Methode zum Aufrufer mit dem Index dieses Slots zurück. Wenn die for-Schleife das Ende des Arrays erreicht, wird -1 zurückgegeben.

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 j ; // Target gefunden.

     return -1 ; // Target nicht gefunden
  }
}

class ListeTester
{
  public static void main ( String[] args )
  {
    final int LAENGE = 20 ;

    String[] strArray = new String[ LAENGE ] ;

    strArray[0] = "Boston" ;
    strArray[1] = "Albany" ;
    strArray[2] = "Detroit" ;
    strArray[3] = "Phoenix" ;
    strArray[4] = "Peoria" ;
    strArray[6] = "Albany" ;
    strArray[7] = "Houston" ;
    strArray[8] = "Hartford" ;

    // nur die Slots, die Daten enthalten, ausgeben
    for (int j=0; j  < strArray.length; j++ )
      if ( strArray[j] != null )
        System.out.println( j + ": " + strArray[j] );

    // nach "Peoria" suchen
    int wo = Liste.suchen( strArray, "Peoria" );
    if ( wo >= 0 )
      System.out.println("Target gefunden in Slot  " + wo );
    else
      System.out.println("Target nicht gefunden" );

  }
}


FRAGE 20:

Wie könnte dieses Programm verbessert werden?

Inhaltsverzeichnis