package einsendeaufgabe_5_3;//die Klasse für die Listenelemente, jetzt auch mit MethodenclassListenelement{
String daten;
Listenelement naechster;
Listenelement letzter;//die Methode zum Setzen der DatenvoidsetDaten(String datenNeu){//die Zeichenkette setzen
daten = datenNeu;//das Ende markieren
naechster =null;}//die Methode zum Anhängen eines neuen Elements
Listenelement anhaengen(String datenNeu){
naechster =newListenelement();
naechster.setDaten(datenNeu);return naechster;}//die Methode zur Ausgabe der Liste vorwärtsvoidausgebenvorw(){
System.out.println(daten);if(naechster !=null)
naechster.ausgebenvorw();}//die Methode zur Ausgabe der Liste rückwärts
int ausgebenrückw(int element){return element;}}publicclassEinsendeaufgabe_5_3{static int element;publicstaticvoidmain(String[] args){//ein neues Listenelement erzeugen
Listenelement listenAnfang =newListenelement();
Listenelement listenEnde =newListenelement();//die Daten im ersten Listenelement setzen
listenAnfang.setDaten("Element 1");
listenEnde = listenAnfang;//weitere Elemente in einer Schleife einfügenfor(element =2; element <21; element++){
listenEnde = listenEnde.anhaengen("Element "+ element);}//die Liste ausgeben
System.out.println("Liste aufsteigened:");
listenAnfang.ausgebenvorw();
System.out.println("Endeliste = "+ element);
System.out.println("Liste absteigened:");
listenEnde.ausgebenrückw();}}
Hallo,
ich bekomme es einfach nicht hin die Liste rückwärts auszugeben. Bitte helft mir.
Über element habe ich ja schon das Listenende ermittelt. Es klappt irgendwie nicht,
den Wert von element in die Methode ausgebenrückw zu übergeben, damit ich dort
mit ihr weiterarbeiten kann. Kann mir jemand einen Tip geben?
Du musst vom Start/Beginn der Liste ausgehen, nicht vom Ende der Liste.
In fact: Das Ende der Liste brauchst du überhaupt nicht.
Ausserdem bringt dir doch das Ende der Liste sowieso überhaupt nichts, da du davon ja nirgendwo anders hinnavigieren kannst.
Jedes Listenelement (und damit auch das letzte Element) kennt ja nur das nächste Element in Einfügereihenfolge und nicht das vorherige.
Ich hatte eigentlich den Gedanken, das ich das letzte Elemlent (den index) ermittle in diesem Fall die 20, und diesen Wert mit z. b. element-- in der rekursiven Schleife immer verringere um damit alle Daten rückwärts auszugeben.