In BlueJ Array durchsuchen?
Ich möchte eine Array-Liste mit CDs, die mit Titel, Autor und Erscheinungsjahr gespeichert werden, durchsuchen (mit dem Erscheinungsjahr). Das Programm soll unabhängig vom Inhalt ablaufen. Es soll also nicht ein gespeichertes Erscheinungsjahr im Programm benutz werde. Ich habe schon etwas programmiert und bekomme auch keine Fehlermeldung. Allerdings wird mir in der Konsole dann garnichts mehr angezeigt.
Vielen Dank schon mal im Voraus. :)
public void suchenMitErscheinungsjahr(int pErscheinungsjahr)
{
boolean gefunden = false;
if (cdanzahl !=0)
{
for (int i=1; i<cdanzahl; i++)
{
if (cdSammlung[i].equals(pErscheinungsjahr))
{
System.out.println(cdSammlung[i].gibTitel());
System.out.println(cdSammlung[i].gibInterpret());
System.out.println(cdSammlung[i].gibErscheinungsjahr());
gefunden = true;
}
}
}
else
{
System.out.println("Das CD-Regal ist leer!");
}
if (gefunden = false)
{
System.out.println("Eine CD mit diesem Erscheinungsjahr existiert nicht im Regal!");
}
}
1 Antwort
Dein Code dürfte so garnicht compilieren.
cdSammlung[i].equals(pErscheinungsjahr)
ist nicht valide, da "pErscheinungsjahr" kein Object, dondern ein primitiv ist.
Was du vermutlich machen willst ist:
cdSammlung[i].gibErscheinungsjahr()gibErscheinungsjahr() == pErscheinungsjahr
Außerdem noch eine Anmerkung.
Du willst in deiner For-Schleife vermutlich bei 0 beginnen, nicht bei 1, sonst überspringst du das erste Element.(Die Indizierung von Arrays beginnt bei 0!)