package delil;
/**
* Die Klasse ist für das Löschen, hinzufügen und mischen der Playlist zuständig
* @author Delil Umut
* @version 2008-24-10
*/
public class Trackliste {
private Track[] playlist;
/**
* Die Methode ist der Konstruktor der dem Attributen den Standardwert gibt.
* @param Der Konstruktor hat keinen Parameter
* @return Der Konstruktor hat keinen Rückgabewert
*/
public Trackliste(String titel, String interpret, int spielzeit) {
this.playlist=new Track[5];
add(titel, interpret, spielzeit);
}
/**
* Die Methode ist für das Hinzufügen der playlist zuständig
* @param titel, interpret, spielzeit sind die Attributen der Track-Klasse
* @return Der Konstruktor hat keinen Rückgabewert
*/
public void add(String titel, String interpret, int spielzeit) {
this.playlist[0]=new Track(titel, interpret, spielzeit); // Arrayobjekt wird erstellt
Track[] playlisn=new Track[this.playlist.length-1];
for(int z=0; z<playlist.length; z++) { //Array wird gefüllt
this.playlist[z]=playlisn[z];
}
playlisn=this.playlist; //Der Wert wird überwiesen
}
/**
* Die Methode ist für das löschen der Tracks zuständig
* @param tracknummer, welches Lied gelöscht werden soll
* @return Die Methode hat keinen Rückgabewert
*/
public void delete(int tracknummer) {
tracknummer=tracknummer-1;
Track[] playlisn=new Track[this.playlist.length-1];
for(int z=0; z<playlisn.length; z++) {
if(z!=tracknummer) { //Wenn die tracknummer nicht gleich dem zaehler ist
playlisn[z]=playlist[z]; // wird das Array einfach reinkopiert
}
}
playlisn=playlist; // Der Wert wird überwiesen
}
/**
* Diese Methode liefert die Gesamtspielzeit und Tracks zurück
* @param hat keinen Parameter
* @return String, das die Gesamtspielzeit und die Tracks zurückgegeben werden
*/
public String list() {
String x="";
int geszeit=0;
for(int z=0; z<playlist.length; z++) {
x=playlist[z].toString();
}
for(int z2=0; z2<playlist.length; z2++) {
geszeit=geszeit+playlist[z2].getSpielzeit();
}
x=x+" "+geszeit;
return x;
}
/**
* Diese Methode ordnet die playlist zufällig
* @param hat keinen Parameter
* @return hat keinen rückgabewert
*/
public void shuffle() {
Track[] playlisn=new Track[this.playlist.length]; //Arrayobjekt wird erstellt
int zufall=0;
for(int z=0; z<playlist.length; z++) {
zufall=(int)(Math.random()*(playlist.length-(0-playlist.length))+0);
playlisn[z]=playlist[zufall];
}
playlisn=playlist;
}
}