Das vollständige Programm steht unten.
Hier ist das vollständige Programm.
Sobald die for-Schleife die Zelle findet, die das Zielelement enthält,
kehrt die Methode zum Aufrufer mit dem Index dieser Zelle zurück.
Wenn die for-Schleife das Ende des Arrays erreicht,
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 j ; // Target gefunden.
return -1 ; // Target nicht gefunden
}
}
class SucheTester
{
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 Zellen, 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 = Suche.suchen( strArray, "Peoria" );
if ( wo >= 0 )
System.out.println("Target gefunden in Zelle " + wo );
else
System.out.println("Target nicht gefunden" );
}
}
Wie könnte dieses Programm verbessert werden?