yannick
Legacy Member
Het zit dus zo. Ik gebruik blueJ (Ik weet het, ma het moet voort school, zucht...)
Ik heb 5 klassen (Database,item,cd,video,game).
Cd en video extenden item. Database kan items toevoegen. Voor elke cd/video/game is een identifier die ik meegeef bij het maken van het object.
Dit object kan ik dan toevoegen via database (in een ArrayList). Maar nu zou ik willen weten hoe ik kan checken ofdat de id nog NIET in de ArrayList voorkomt ALVORENS (duh
) hij het object toevoegd.
code Database
code Item
En tenslotte de code van CD (de rest laat ik buiten beschouwing)
Ik heb 5 klassen (Database,item,cd,video,game).
Cd en video extenden item. Database kan items toevoegen. Voor elke cd/video/game is een identifier die ik meegeef bij het maken van het object.
Dit object kan ik dan toevoegen via database (in een ArrayList). Maar nu zou ik willen weten hoe ik kan checken ofdat de id nog NIET in de ArrayList voorkomt ALVORENS (duh
) hij het object toevoegd.code Database
Code:
import java.util.ArrayList;
import java.util.Iterator;
/**
* De klasse Database biedt de mogelijkheid om Cd- en Video-objecten
* op te slaan. Het is mogelijk om een lijst met alle cd's en videobanden
* op de tekstterminal.
*
* Deze versie slaat de gegevens niet op een opslagmedium op en
* biedt geen zoekfuncties.
*/
public class Database
{
private ArrayList items;
/**
* Maak een lege Database.
*/
public Database()
{
items = new ArrayList();
}
/**
* Voeg een item toe aan de database. Dit werkt dus NIET
*/
public void addItem(Item theItem)
{
if(!items.contains(theItem.getID()))
{
items.add(theItem);
System.out.println(theItem.getTitle());}
else
System.out.println("ERROR:Deze Titel bestaat al");
}
/**
* Druk een lijst af van alle tot nu toe opgeslagen cd's en videobanden
* op de tekstterminal.
*/
public void list()
{
for(Iterator iter = items.iterator(); iter.hasNext(); )
{
System.out.println(iter.next());
}
}
}
code Item
Code:
/**
* De klasse Item stelt een multimediaitem voor.
* Informatie over het item is opgeslagen en kan worden bekeken.
* Deze klasse fungeert als superklasse voor meer specifieke items.
*/
public class Item
{
private String title;
private String id;
private int playingTime;
private boolean gotIt;
private String comment;
/**
* Initialiseer de velden van het item.
*/
public Item(String theTitle, int time,String id)
{
title = theTitle;
playingTime = time;
this.id=id;
gotIt = false;
comment = "";
}
/**
* Voer een commentaar in voor dit item.
*/
public void setComment(String comment)
{
this.comment = comment;
}
/**
* Retourneer het commentaar voor dit item.
*/
public String getComment()
{
return comment;
}
/**
* Zet de vlag of we zelf dit item hebben.
*/
public void setOwn(boolean ownIt)
{
gotIt = ownIt;
}
/**
* Retourneer informatie of we dit item zelf hebben.
*/
public boolean getOwn()
{
return gotIt;
}
public String getID()
{
return id;
}
public String getTitle()
{
return title;
}
/**
* Druk informatie over dit item af op het scherm.
*/
public String toString()
{
String line1= "titel: " + title + " (" + playingTime + " minuten)";
if(gotIt) {
return line1 + "*\n"+" "+comment+"\n";
} else {
return line1 + "\n"+" "+comment+"\n";
}
}
public void print()
{
System.out.println(toString());
}
}
En tenslotte de code van CD (de rest laat ik buiten beschouwing)
Code:
/**
* De klasse CD stelt een CD-object voor. Informatie over de
* CD is opgeslagen en kan worden bekeken.
*/
public class CD extends Item
{
private String artist;
private int numberOfTracks;
/**
* Constructor voor objecten van de klasse CD
*/
public CD(String theTitle, String theArtist, int tracks, int time,String id)
{
super(theTitle, time,id);
artist = theArtist;
numberOfTracks = tracks;
}
/**
* Retourneer de uitvoerend artiest voor deze cd.
*/
public String getArtist()
{
return artist;
}
/**
* Retourneer het aantal van tracks op deze cd.
*/
public int getNumberOfTracks()
{
return numberOfTracks;
}
public String toString()
{
return super.toString() + "artist: "+artist+"\n"+"tracks: "+numberOfTracks+"\n";
}
public void print()
{
System.out.println(toString());
}
public String getTitel()
{
return super.getTitle();
}
}


eze Titel bestaat al");
. Voor overhead gaat het al niet zorgen denk ik.