Hi,..
Ich habe eine verkettete liste und will mit der methode next(),..bei jedem aufruf um ein element der liste weiter aufrufen.
genauer:
Auszug aus einer aufgabe:
Ferner sollen alle Elemente der Liste durchlaufen werden können. Dazu soll eine Methode next() implementiert werden, die beginnend beim ersten objekt in der Liste mit jedem Aufruf ein weiteres objekt an den Aufrufer liefert (falls keines mehr da ist, wird null zurückgegeben). Zum Zurücksetzen des Durchlaufs soll es die Methode resetIteration() geben. Nach deren Aufruf wird mit next() wieder das erste Element in der Liste geliefert.
also ich habe eine liste und immer wenn ich next() aufrufe, soll das nächste objekt angezeigt werden.
kann mir bitte jemand helfen,..hier noch meine listenklasse
VIELEN DANK
Ich habe eine verkettete liste und will mit der methode next(),..bei jedem aufruf um ein element der liste weiter aufrufen.
genauer:
Auszug aus einer aufgabe:
Ferner sollen alle Elemente der Liste durchlaufen werden können. Dazu soll eine Methode next() implementiert werden, die beginnend beim ersten objekt in der Liste mit jedem Aufruf ein weiteres objekt an den Aufrufer liefert (falls keines mehr da ist, wird null zurückgegeben). Zum Zurücksetzen des Durchlaufs soll es die Methode resetIteration() geben. Nach deren Aufruf wird mit next() wieder das erste Element in der Liste geliefert.
also ich habe eine liste und immer wenn ich next() aufrufe, soll das nächste objekt angezeigt werden.
kann mir bitte jemand helfen,..hier noch meine listenklasse
Code:
public class Buchungsliste {
//Referenz auf das erste und letzte Element
private Node header = null;
private Node last = null;
//Das Objekt wird an das letzte Element eingefügt
public void add (Object o){
Node node = new Node(o);
if (header == null){
last=header=node;}
else{
last.verkette(node);
last=node;
}
}
public void output(){
Node act=header;
while(act!=null){
System.out.println(act.element.toString());
act=act.nextNode();
}
}
public void next(){
//??????
}
public void clear(){
Node act = header;
Node before=null;
while(act != null){
act.remove(before);
before=act;
act=act.nextNode();
clear();
}
Node header=null;
}
public Object search(Object o){
Node act=header;
while (act != null){
if (o.equals(act.get()))
return act.get();
act= act.nextNode();}
return null;
}
private class Node{
private Node next=null;
private Object element;
public Node (Object element){
this.element =element;
}
public void verkette(Node next){
this.next = next;
}
public Node nextNode(){
return next;
}
public Object get(){
return element;
}
public void remove (Node before){
if (before == null){
header=next;}
else{
before.next =next;}
}
}}
VIELEN DANK