array[ j ] = target
target
enthalten ist in den Slot j des
Arrays.array[ j ] == targetarray[ j ].equals( target )String-Objekte die gleichen Zeichen enthalten.
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 untenstehende Programm enthält mehr von der Suchmethode.
Untersuchen Sie die zweite if-Anweisung.
Sie ist so geschrieben worden, dass sie - sobald target
erkannt wurde - sofort mit dem Index des Slots, indem target gefunden wurde zum Aufrufer zurückkehrt.
class Searcher
{
// target suchen in dem Array von Strings.
// Index wo es gefunden wurde zurückgeben oder -1, wenn es nicht gefunden wurde.
public static int search( 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 SearchTester
{
public static void main ( String[] args )
{
. . . . . .
int where = Searcher.search( 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.