folgende Übungsaufgabe zum Thema "Iterator" würde ich gerne lösen:
"Implementiere eine Klasse Wochentag, die die Schnittstelle java.util.Iterator implementiert. Dabei soll es für die Klasse 7 Konstanten für die Wochentage geben, die Objekte vom Typ Wochentag sind. Ein Konstruktor soll auf einen Wochentag initialisieren können und dies mit einer Zahl von 0 bis 7. Nutze folgendes Implementierungsschema:
class Wochentag implements Iterator
{
Wochentag MONTAG = new Wochentag(1);
// ...
}
Mit der Methode next() des Iterators soll man dann das nächste Wochentag-Objekt bekommen. "
So ganz verstehe ich dieses Aufgabe allerdings nicht. Mir ist jedoch nicht so recht klar, wie denn dann der Code, um dies aufzurufen im main aussehen soll. Versteht ihr diese Aufgabe und könnt mir Beispiele für den Code im main nennen?
Um die Frage mit dem Lehrer zu klären: Diese Aufgabe habe ich von Christian Ullenboom, der berühmte Autor von "Java ist auch eine Insel". Allerdings habe ich noch die Aufgabenversion von CD von der 6. Auflage. In der aktuellen hat er teilweise völlig andere Aufgaben. Vielleicht hat er diese rausgenommen, weil er zu viele Anfragen deswegen erhalten hat?! Obwohl sie sich auf den ersten Blick doch eigentlich ganz nett anhört.
Wenn's von nem Lehrer gewesen wäre, hätte ich einfach gedacht, der Lehrer ist zu doof um Aufgaben zu stellen. So dachte ich, dass ich vielleicht zu doof bin, die Aufgabe zu verstehen.
Seit Java 5 gibt es Enums, diese sollten anstatt Integer Konstanten verwendet werden, deswegen macht die Aufgabenstellung in dieser Form heute keinen Sinn mehr bzw. führt dazu, das man sich für die schlchtere Lösung (int Konstanten) anstatt für die gute Lösung (enums) entscheidet.
warum soll ich das Interface implemtieren, wenn es dann eh nix kann ;-)
ich denke next von Montag soll Dienstag liefern.. nur wie? Soll ein neues Objekt erstell werden, ein interner counter incrementiert werden um this zurück zu liefern?
Vielen Dank für Eure vielen Antworten.
Ich denk mal der Code vom Müden Joe ist wohl in etwa das, was der Aufgabensteller sich gedacht hat.
Die Aufgabenstellungen war mir nicht so ganz klar, aber nun bin ich beruhigt: Ich bin wohl nicht die einzige, der's so geht.
Sehr merkwürdige Aufgabe... ???:L
So merkwürdig, dass selbst Der Müde Joe kurzfristig die Grundlagen der prozeduralen programmierung vergessen hat... :bahnhof: Kann man ihm nicht verübeln in diesem Fall, irgendwas sinnvolleres, was der aufgabenstellung exakt entspricht, kriegt man da nicht ohne weiteres hin.