Hjælp til CD-Arkiv
Hej Eksperter,Jeg sidder og forsøger at løse en opgave som lyder således:
Lav et CD‐arkiv der kan bruges til at lagre og fremfinde cd'er. Programmet skal kunne gemme cd'er,
finde cd'er ud fra titel og kunstnerog slette cd'er. Når man får et søgeresultat skal det være sorteret
alfabetisk, til dette bruges Comparable‐interfacet og Collections.sort().
Jeg har fået lavet følgende, men det fungerer ikke helt.
Main
package CDArchive;
import java.io.File;
import java.util.*;
import dk.au.hum.imv.persistence.io.ObjectIO;
public class Main {
public static void main (String [] args) {
ObjectIO io = new ObjectIO();
File saveFile = new File("//Users/john/cder.ser");
CDArchive cder = new CDArchive();
CDs cd1 = new CDs ("Muse", "'Absolution'");
CDs cd2 = new CDs ("The Storm", "'Where the storm meets the ground'");
CDs cd3 = new CDs ("Evanescence", "'Fallen'");
CDs cd4 = new CDs ("Kaiser Chiefs", "'Off with their heads'");
CDs cd5 = new CDs ("Mew", "'Frengers'");
cder.addCd(cd1);
cder.addCd(cd2);
cder.addCd(cd3);
cder.addCd(cd4);
cder.addCd(cd5);
for (CDs cd: cder.getCdByTitel("Absolution"))
{
System.out.println(cd.getKunstner()+":"+cd.getTitel());
}
//write object
io.saveObject (cder, saveFile);
}
}
CDArchive
package CDArchive;
import java.util.*;
public class CDArchive{
private ArrayList <CDs> cder = new ArrayList<CDs>();
public void addCd (CDs cd) {
cder.add (cd);
}
public void removeCd (CDs cd) {
cder.remove (cd);
}
public ArrayList <CDs> getCdByKunstner (String kunstner) {
ArrayList <CDs> resultat = new ArrayList <CDs>();
for (CDs element : cder) {
if (element.getKunstner().equals(kunstner)) {
resultat.add(element);
}
}
return resultat;
}
public ArrayList <CDs> getCdByTitel (String titel) {
ArrayList <CDs> resultat = new ArrayList <CDs>();
for (CDs element : cder) {
if (element.getTitel().equals(titel)) {
resultat.add(element);
}
}
return resultat;
}
public ArrayList<CDs> getAllCds() {
ArrayList<CDs> resultat = new ArrayList<CDs>(cder);
Collections.sort(resultat);
return resultat;
}
}
CDs
package CDArchive;
public class CDs implements Comparable { // Melder fejl her
private String kunstner;
private String titel;
//Constructor
public CDs (String kunstner, String titel) {
this.kunstner = kunstner;
this.titel = titel;
}
public void setKunstner (String kunstner) {
this.kunstner = kunstner;
}
public void setTitel (String titel) {
this.titel = titel;
}
public String getKunstner () {
return kunstner;
}
public String getTitel () {
return titel;
}
public void find () {
}
@Override
public int compareTo(CDs o) { // Melder fejl her
return this.getKunstner().compareTo(o.getKunstner());
}
}
Nogen der lige kan gennemskue fejlene?
På forhånd tak.