Implementieren einer Methode namens titelVorhanden?
Guten Abend zusammen,
ich arbeite jetzt schon seit 3 Tagen an diesem Problem und ich bekomme es einfach irgendwie nicht gelöst.
Die Aufgabe sagt, dass ich eine Methode boolean titelVorhanden (String pTitel, String pInterpret) der Klasse Musikverwaltungsprogramm, die true zurück gibt, wenn der Song in der Liste vorkommt, zurück gibt.
Meine Überlegung ist/war diese:
public class Musikverwaltungsprogramm {
public boolean titelVorhanden (String pTitel, String pInterpret) {
List<Musiktitel> liste2 = new List<Musiktitel>();
boolean titelVorhanden = false;
liste.toFirst();
while (liste.hasAccess() && gefunden == false) {
if (liste.getContent() == String pTitel && String pInterpret) {
titelVorhanden = true;
} // end of if
liste.next();
} // end of while
} // End of titelVorhanden
public static void main (String [] args) {
titelVorhanden();
}
} // End of Class
1 Antwort
- Wie ist deine Liste gespeichert? irgendwoher muss der Wert ja kommen.
- Strings niemals mit == vergleichen, sondern mit .equals()
- warum erstellst du eine neue Liste, auf die du nicht einmal zugreifst?
- List ist nur ein Interface, welches du noch implementieren solltest. Probier es doch mit z.B. ArrayList
- hab kurz das hier zusammengebastelt, kannst es ja mal anschauen - vielleicht hilft dir dieser Ansatz bei deinem Problem. Es ist alles statisch implementiert und die Liste ist eine globale Klassenvariable von Test - sonst müsstest du der Methode auch noch die Liste übergeben. Zudem hab ich der Einfachkeit halber nur eine String-Liste genommen - du müsstest bei dir über Getter noch die entsprechenden Informationen aus dem Objekt (Musiktitel) der Liste ziehen. https://hastebin.com/wutudokebi.java
da du auf zwei Attribute testest, sollte es bei dir irgendwie so aussehen (titel ist der aktuelle Titel, der geprüft wird):
public boolean titelVorhanden (String pTitel, String pInterpret) {
...
if(titel.getTitel().equals(pTitel) && titel.getInterpret().equals(pInterpret)) {return true; }
...
}