Lernpfad:Rekursion in Java/Selbst eine rekursive Methode schreiben: Unterschied zwischen den Versionen

Zeile 76: Zeile 76:
   }
   }


  public Karte sucheKarte(String farbe, String wert){
    for (int i=0; i< haufen.length;i++){ 
      Karte k = haufen[i];                         
      if(k.getFarbe().equals(farbe) &&   
        k.getWert().equals(wert)){       
        return k;                       
                                         
      }                                   
    }
  }
</syntaxhighlight>
Erläuterungen:
{{Collapse:Start }}
<syntaxhighlight lang="java">
   public Karte sucheKarte(String farbe, String wert){
   public Karte sucheKarte(String farbe, String wert){
     for (int i=0; i< haufen.length;i++){  //Der ganze Array soll durchlaufen werden.
     for (int i=0; i< haufen.length;i++){  //Der ganze Array soll durchlaufen werden.
       Karte k = haufen[i];                //Die aktuelle Karte wird aus dem Array geholt und eine Referenz k auf das Element wird erstellt.
       Karte k = haufen[i];                //Die aktuelle Karte wird aus dem Array  
       if(k.getFarbe().equals(farbe) &&    //Die Daten der aktuellen Karte k werden mit der Farbe und dem Wert verglichen
                                          //geholt und eine Referenz k auf das Element wird erstellt.
         k.getWert().equals(wert)){
       if(k.getFarbe().equals(farbe) &&    //Die Daten der aktuellen Karte k  
         return k;                        //Falls die Werte übereinstimmen, wird eine Referenz auf die Karte zurückgegeben.
         k.getWert().equals(wert)){       //werden mit der Farbe und dem Wert verglichen
       }
         return k;                        //Falls die Werte übereinstimmen,  
                                          //wird eine Referenz auf die aktuelle Karte k zurückgegeben.
       }                                   //Die Methode wird dann sofort beendet.
     }
     }
   }
   }
</syntaxhighlight>
</syntaxhighlight>
 
{{Collapse:End}}


Z.B. die Telefonnummer in einem Telefonbuch. Das Telefonbuch ist nur deshalb praktikabel, weil es die Namen der Personen geordnet angibt. In einem geordneten Array kann man also schneller suchen, als in
Z.B. die Telefonnummer in einem Telefonbuch. Das Telefonbuch ist nur deshalb praktikabel, weil es die Namen der Personen geordnet angibt. In einem geordneten Array kann man also schneller suchen, als in
130

Bearbeitungen