Fjerne objekt og returnere string
Er igang med en opgave hvor jeg laver et DVD-katalog. Det består af to klasser (DVDCatalouge og MovieDVD), hvor når man opretter en film i DVDCatalogue, opretter den det som et objekt af MovieDVD.Nu er jeg igang med at lave en remove-funktion og indtil nu fjerner den også det givne objekt, men den returnere ikke alt den skal.
Et MovieDVD-objekt indeholder Title, Description, Director og Duration, hvor duration er et int og de andre strenge.
Indtil videre, fjerner removeDVD objektet og returnere "Title/MovieDVD@enrækketalogbogstaver", men den skulle gerne returnere "Title/Description/Director/Duration". Håber det er til at forstå, ellers har jeg koden nedenunder som vejleder.
Hvordan skal removeDVD se ud, for at den returnere informationerne korrekt og stadig fjerner objektet?
Koden til DVDCatalogue
------------------------------------------------------------------------
import java.util.HashMap;
import java.util.Iterator;
public class DVDCatalogue
{
private String owner;
private HashMap allDVDs;
public DVDCatalogue( String name )
{
owner = name;
allDVDs = new HashMap();
}
public void addDVD( String title, String description, String director, int duration)
{
MovieDVD dvd = new MovieDVD(title,description,director,duration);
allDVDs.put(title,dvd);
}
public Object getDVD( String title )
{
Object dvd = (MovieDVD)allDVDs.get(title);
return dvd;
}
public void printAllDVDs()
{
Iterator iter = allDVDs.values().iterator();
while(iter.hasNext()) {
MovieDVD dvd = (MovieDVD)iter.next();
dvd.printMovieDVD();
System.out.println();
}
}
public String removeDVD( String title )
{
if(getDVD(title) != null) {
return title + "/" + (MovieDVD)allDVDs.remove(title);
}
else {
return null;
}
}
}
