Hallo,
ich wollte euch um Hilfe bitten.
Und zwar hab ich demnächst ne Prüfung in Java und mache zur Vorbereitung gerade alte Aufgaben durch. Bei einer Aufgabe komm ich allerdings nicht weiter. Ich schreib euch mal die Aufgabenstellung hin:
Erweitern Sie das Programm:
Die Klasse Liedsammlung soll das Interface Iterable<T>implementieren.
Bei verketteten Listen hab ichs hinbekommen, aber mit Arrays schaff ichs nicht.
Folgendes hab ich bis jetzt:
[JAVA=13]class Liedsammlung<T> implements Iterable<T>[/code]
[JAVA=30]Liedsammlung<Mp3> m=new Liedsammlung<Mp3>(lieder);
for(Mp3 f:m){
System.out.println(f.interpret);
System.out.println(f.title);
}[/code]
Ich weiß allerdings nicht wie die Methode "Iterator<T> iterator()" ausschauen soll.
Würde mich freuen wenn ihr mir helfen könntet
ich wollte euch um Hilfe bitten.
Und zwar hab ich demnächst ne Prüfung in Java und mache zur Vorbereitung gerade alte Aufgaben durch. Bei einer Aufgabe komm ich allerdings nicht weiter. Ich schreib euch mal die Aufgabenstellung hin:
Erweitern Sie das Programm:
Die Klasse Liedsammlung soll das Interface Iterable<T>implementieren.
- Erweitern dazu Sie die Klasse Liedsammlung um die Methode Iterator< T > iterator(); Der Iterator soll der Reihe nach alle Lieder des Arrays lieder liefern.
- Sehen Sie die Klasse Liedsammlung, unter Verwendung von Generics als universell einsetzbare Klasse für eineCollection vor. D.h. Sie soll nicht nur Mp3 Instanzen verarbeiten können, sondern Instanzen von Klassen, die imgenerischen Datentyp gegeben sind.
Java:
import java.util.Iterator;
class Mp3 {
String title;
String interpret ;
Mp3(String t, Stringi n) {
title=t ;interpret = in;
}
void play() {
System.out.println(title +" : "+ interpret) ; // ... spielt das Lied ab
}
}
class Liedsammlung
{
Mp3 lieder[] ;
Liedsammlung (Mp3 x[]) {
lieder=x ;
}
}
public class Mp3Player {
public static void main (String args [ ]) {
Mp3 lieder[] =new Mp3[100];
for (int i =0; i<lieder.length; i ++) { / / belegen der Lieder der Liedsammlung
lieder[i]=new Mp3("name"+i ,"interpret"+i);
}
Liedsammlung m=new Liedsammlung (lieder);
/ / hier mit Iterator Lieder einmalig der Reihe nach abspielen
}
Bei verketteten Listen hab ichs hinbekommen, aber mit Arrays schaff ichs nicht.
Folgendes hab ich bis jetzt:
[JAVA=13]class Liedsammlung<T> implements Iterable<T>[/code]
[JAVA=30]Liedsammlung<Mp3> m=new Liedsammlung<Mp3>(lieder);
for(Mp3 f:m){
System.out.println(f.interpret);
System.out.println(f.title);
}[/code]
Ich weiß allerdings nicht wie die Methode "Iterator<T> iterator()" ausschauen soll.
Würde mich freuen wenn ihr mir helfen könntet