das neue element ist immer mit dem vorherigen verknüpft durch Listenelement letzter. Jetzt würde ich das gerne rückwärts ausgeben durch eine rekursion und da haperts bei mir momentan. rekursiv ist die methode "ausgeben" aber sie tut nicht was sie soll... Sie gibt mir nur das Listenende aus aber nicht die vorherigen elemente. vllt hab ich da einen denkfehler beim Listenelement letzter bitte helft mir.
Außerdem würde ich gerne wissen wie ihr das finden des letzten elements ohne einen konstruktor gemacht hättet. (neugierdehalber)
class Listenelement {
String daten;
Listenelement naechster;
Listenelement letzter;
public Listenelement (Listenelement letzter){
this.letzter = letzter;
}
public Listenelement getprev (){
return letzter;
}
void setnext (Listenelement naechster){
this.naechster = naechster;
}
Listenelement getend(){
return Listend;
}
void setDaten(String datenNeu) {
this.daten = datenNeu;
this.naechster = null;
}
static Listenelement Listend = null;
Listenelement hilf=null;
void anhaengen(String datenNeu) {
if (naechster == null) {
naechster = new Listenelement(naechster);
naechster.setDaten(datenNeu);
Listend = naechster;
}
else
naechster.anhaengen(datenNeu);
System.out.println("Daten " + datenNeu + " wurden eingefügt.");
}
void ausgeben() {
System.out.println(daten);
if (letzter != null)
letzter.ausgeben();
}
}
public class aufgtest {
public static void main(String[] args) {
Listenelement listenAnfang = new Listenelement(null);
listenAnfang.setDaten("Element 1");
for (int element = 2; element < 10; element++)
listenAnfang.anhaengen("Element " + element);
Listenelement.Listend.ausgeben();
}
}
Außerdem würde ich gerne wissen wie ihr das finden des letzten elements ohne einen konstruktor gemacht hättet. (neugierdehalber)
class Listenelement {
String daten;
Listenelement naechster;
Listenelement letzter;
public Listenelement (Listenelement letzter){
this.letzter = letzter;
}
public Listenelement getprev (){
return letzter;
}
void setnext (Listenelement naechster){
this.naechster = naechster;
}
Listenelement getend(){
return Listend;
}
void setDaten(String datenNeu) {
this.daten = datenNeu;
this.naechster = null;
}
static Listenelement Listend = null;
Listenelement hilf=null;
void anhaengen(String datenNeu) {
if (naechster == null) {
naechster = new Listenelement(naechster);
naechster.setDaten(datenNeu);
Listend = naechster;
}
else
naechster.anhaengen(datenNeu);
System.out.println("Daten " + datenNeu + " wurden eingefügt.");
}
void ausgeben() {
System.out.println(daten);
if (letzter != null)
letzter.ausgeben();
}
}
public class aufgtest {
public static void main(String[] args) {
Listenelement listenAnfang = new Listenelement(null);
listenAnfang.setDaten("Element 1");
for (int element = 2; element < 10; element++)
listenAnfang.anhaengen("Element " + element);
Listenelement.Listend.ausgeben();
}
}