Jag har gjort en container-klass som håller Objekt i en Vector, klassen tillhandahåller metoder för att lägga dit, söka objekt samt skriva ut.
Det är söka objekt, alltså metoden search, som jag har problem med. Resultaten lagras i en array. När metoden kallas på så vill jag inte att arrayen ska skrivas ut för då ser det underligt ut:
Exempel från min testklass_______________________
Testar metoden search.
Söker på "Det"[Book@1bab50a, Cd@c3c749]
____________________________________________
Jag vill att det ska skriva ut snyggare och testar därför att returnera en iterator version av for loopen, se metoden search nedan.
Men det fungerar inte. Kompilatorn säger "illegal start of expression".
Jag är än så länge nybörjare på Java så ...
Nån idé?
//***********************************************************
// Class MediaContainer
//
// Metoder: Constructor, addMedia, seach, print
//***********************************************************
import java.util.*;
class MediaContainer
{
private Vector catalogue;
//-----------------------------------------------------------
// Constructor - Sätter upp den vektorn vilken kan innehålla
// ett obestämt antal objekt av typen media.
//-----------------------------------------------------------
public MediaContainer()
{
catalogue = new Vector();
}
//-----------------------------------------------------------
// addMedia - lägger till ett media i katalogen.
//-----------------------------------------------------------
public void addMedia (Media newMedia)
{
catalogue.addElement (newMedia);
}
//-----------------------------------------------------------
// seach - söker efter ett medias titel i katalogen.
//-----------------------------------------------------------
public Vector search (String title)
{
Vector match = new Vector();
for(int i = 0; i \< catalogue.size(); i ++)
{
if ( ((Media)catalogue.elementAt(i)).getTitle().equals(title) )
{
match.addElement (catalogue.elementAt(i));
}
}
return for (Vector value : match)
System.out.print (value + " ");
}
//-----------------------------------------------------------
// print - skriver ut alla medier i katalogen.
//-----------------------------------------------------------
public void print()
{
System.out.println ("----- Medier i katalogen -----");
for(int i = 0; i < catalogue.size(); i++)
{
((Media)catalogue.elementAt(i)).print(); // Anropar metoden print i Media
}
}
} //----- Slut class MediaContainer -----