Suche in BlueJ programmieren für ein CD-Regal
Wie kann ich in BlueJ eine Suchfunktion programmieren, um nach CDs mit Titel, Interpret und Erscheinungsjahr zu suchen?
Um eine Suchfunktion in BlueJ zu programmieren um nach CDs mit bestimmtem Titel Interpret oder Erscheinungsjahr zu suchen gibt es verschiedene Möglichkeiten. Eine Möglichkeit wäre die Methode `sucheMitTitel`, `sucheMitInterpret` und `sucheMitErscheinungsjahr` in der Klasse `cd` zu implementieren. Hier ist ein Beispiel, ebenso wie die Suchfunktion für das 💿-Regal aussehen könnte.
```java
import java.util.ArrayList;
public class CDRegal {
private ArrayList<CD> cds;
public CDRegal() {
cds = new ArrayList<CD>();
}
// Methode zum Hinzufügen einer CD zum Regal
public void addCD(CD cd) {
cds.add(cd);
}
// Methode zum Suchen einer CD nach Titel
public ArrayList<CD> sucheMitTitel(String titel) {
ArrayList<CD> result = new ArrayList<CD>();
for (CD cd : cds) {
if (cd.getTitel().equals(titel)) {
result.add(cd);
}
}
return result;
}
// Methode zum Suchen einer CD nach Interpret
public ArrayList<CD> sucheMitInterpret(String interpret) {
ArrayList<CD> result = new ArrayList<CD>();
for (CD cd : cds) {
if (cd.getInterpret().equals(interpret)) {
result.add(cd);
}
}
return result;
}
// Methode zum Suchen einer CD nach Erscheinungsjahr
public ArrayList<CD> sucheMitErscheinungsjahr(int jahr) {
ArrayList<CD> result = new ArrayList<CD>();
for (CD cd : cds) {
if (cd.getErscheinungsjahr() == jahr) {
result.add(cd);
}
}
return result;
}
}
```
Die Klasse `CDRegal` enthält eine ArrayList `cds` um die CDs zu speichern. Es gibt eine Methode `addCD` um eine CD zum Regal hinzuzufügen. Die Suchfunktionen `sucheMitTitel`, `sucheMitInterpret` und `sucheMitErscheinungsjahr` suchen jeweils nach CDs mit einem bestimmten Titel, Interpret oder Erscheinungsjahr. Sie geben eine ArrayList mit den passenden CDs zurück.
In der Klasse `CD` sollten entsprechende Getter-Methoden für Titel Interpret und Erscheinungsjahr implementiert werden zu diesem Zweck auf die entsprechenden Informationen zugegriffen werden kann.
Um die Suchfunktion zu testen, könntest du in der `main`-Methode des BlueJ-Projekts folgenden Code schreiben:
```java
public class TestCDRegal {
public static void main(String[] args) {
CDRegal regal = new CDRegal();
// CDs zum Regal hinzufügen
regal.addCD(new CD("CD 1", "Interpret 1", 2000));
regal.addCD(new CD("CD 2", "Interpret 2", 2005));
regal.addCD(new CD("CD 3", "Interpret 1", 2010));
// Suche nach CDs mit bestimmtem Titel
ArrayList<CD> cdsMitTitel1 = regal.sucheMitTitel("CD 1");
for (CD cd : cdsMitTitel1) {
System.out.println(cd);
}
// Suche nach CDs mit bestimmtem Interpret
ArrayList<CD> cdsMitInterpret1 = regal.sucheMitInterpret("Interpret 1");
for (CD cd : cdsMitInterpret1) {
System.out.println(cd);
}
// Suche nach CDs mit bestimmtem Erscheinungsjahr
ArrayList<CD> cdsMitJahr2010 = regal.sucheMitErscheinungsjahr(2010);
for (CD cd : cdsMitJahr2010) {
System.out.println(cd);
}
}
}
```
In diesem Beispiel wird das Regal mit drei CDs gefüllt. Dann wird nach CDs mit bestimmtem Titel Interpret und Erscheinungsjahr gesucht und die Ergebnisse werden ausgegeben.
Hinweis: Der Code ist nur ein Beispiel und sollte identisch den Anforderungen deines CD-Regals angepasst werden.
```java
import java.util.ArrayList;
public class CDRegal {
private ArrayList<CD> cds;
public CDRegal() {
cds = new ArrayList<CD>();
}
// Methode zum Hinzufügen einer CD zum Regal
public void addCD(CD cd) {
cds.add(cd);
}
// Methode zum Suchen einer CD nach Titel
public ArrayList<CD> sucheMitTitel(String titel) {
ArrayList<CD> result = new ArrayList<CD>();
for (CD cd : cds) {
if (cd.getTitel().equals(titel)) {
result.add(cd);
}
}
return result;
}
// Methode zum Suchen einer CD nach Interpret
public ArrayList<CD> sucheMitInterpret(String interpret) {
ArrayList<CD> result = new ArrayList<CD>();
for (CD cd : cds) {
if (cd.getInterpret().equals(interpret)) {
result.add(cd);
}
}
return result;
}
// Methode zum Suchen einer CD nach Erscheinungsjahr
public ArrayList<CD> sucheMitErscheinungsjahr(int jahr) {
ArrayList<CD> result = new ArrayList<CD>();
for (CD cd : cds) {
if (cd.getErscheinungsjahr() == jahr) {
result.add(cd);
}
}
return result;
}
}
```
Die Klasse `CDRegal` enthält eine ArrayList `cds` um die CDs zu speichern. Es gibt eine Methode `addCD` um eine CD zum Regal hinzuzufügen. Die Suchfunktionen `sucheMitTitel`, `sucheMitInterpret` und `sucheMitErscheinungsjahr` suchen jeweils nach CDs mit einem bestimmten Titel, Interpret oder Erscheinungsjahr. Sie geben eine ArrayList mit den passenden CDs zurück.
In der Klasse `CD` sollten entsprechende Getter-Methoden für Titel Interpret und Erscheinungsjahr implementiert werden zu diesem Zweck auf die entsprechenden Informationen zugegriffen werden kann.
Um die Suchfunktion zu testen, könntest du in der `main`-Methode des BlueJ-Projekts folgenden Code schreiben:
```java
public class TestCDRegal {
public static void main(String[] args) {
CDRegal regal = new CDRegal();
// CDs zum Regal hinzufügen
regal.addCD(new CD("CD 1", "Interpret 1", 2000));
regal.addCD(new CD("CD 2", "Interpret 2", 2005));
regal.addCD(new CD("CD 3", "Interpret 1", 2010));
// Suche nach CDs mit bestimmtem Titel
ArrayList<CD> cdsMitTitel1 = regal.sucheMitTitel("CD 1");
for (CD cd : cdsMitTitel1) {
System.out.println(cd);
}
// Suche nach CDs mit bestimmtem Interpret
ArrayList<CD> cdsMitInterpret1 = regal.sucheMitInterpret("Interpret 1");
for (CD cd : cdsMitInterpret1) {
System.out.println(cd);
}
// Suche nach CDs mit bestimmtem Erscheinungsjahr
ArrayList<CD> cdsMitJahr2010 = regal.sucheMitErscheinungsjahr(2010);
for (CD cd : cdsMitJahr2010) {
System.out.println(cd);
}
}
}
```
In diesem Beispiel wird das Regal mit drei CDs gefüllt. Dann wird nach CDs mit bestimmtem Titel Interpret und Erscheinungsjahr gesucht und die Ergebnisse werden ausgegeben.
Hinweis: Der Code ist nur ein Beispiel und sollte identisch den Anforderungen deines CD-Regals angepasst werden.