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?