Moin, ich lerne gerade Java in form einer Berufsweiterbildung.
Ich sollte den Programmcode so umändern das der beim anhängen von neuen Elementen direkt über eine Variable das Ende der Kette gegeben wird, sodass dann direkt das neue Element dran gehangen werden kann. Jedoch habe ich bei der Ausgabe das Problem, das nur die Daten des 1. und des letzten Elements ausgegeben werden. Hoffe jemand sieht was ich falsch gemacht habe.
Mein Code:
class Listenelement{
String daten;
Listenelement naechster;
Listenelement letzter;
void setDaten(String datenNeu) {
daten = datenNeu;
naechster = null;
}
void anhaengen(String datenNeu) {
naechster = letzter;
naechster = new Listenelement();
naechster.setDaten(datenNeu);
letzter = naechster;
//naechster = listenAnfang;
System.out.println("Daten " + datenNeu + " wurden Eingefügt.");
System.out.println("naechster " + naechster);
System.out.println("Listenende " + letzter);
}
void ausgeben() {
System.out.println(daten);
if(naechster != null) {
//System.out.println("Ausgeben naechster " + naechster);
//System.out.println("Ausgeben Daten " + daten);
naechster.ausgeben();
}
}
}
public class Verkettete_Listen{
public static void main(String[] args) {
Listenelement listenAnfang = new Listenelement();
listenAnfang.setDaten("Element 1");
for(int element = 2; element <20; element++)
listenAnfang.anhaengen("Element " + element);
listenAnfang.ausgeben();
}
}
Ich sollte den Programmcode so umändern das der beim anhängen von neuen Elementen direkt über eine Variable das Ende der Kette gegeben wird, sodass dann direkt das neue Element dran gehangen werden kann. Jedoch habe ich bei der Ausgabe das Problem, das nur die Daten des 1. und des letzten Elements ausgegeben werden. Hoffe jemand sieht was ich falsch gemacht habe.
Mein Code:
class Listenelement{
String daten;
Listenelement naechster;
Listenelement letzter;
void setDaten(String datenNeu) {
daten = datenNeu;
naechster = null;
}
void anhaengen(String datenNeu) {
naechster = letzter;
naechster = new Listenelement();
naechster.setDaten(datenNeu);
letzter = naechster;
//naechster = listenAnfang;
System.out.println("Daten " + datenNeu + " wurden Eingefügt.");
System.out.println("naechster " + naechster);
System.out.println("Listenende " + letzter);
}
void ausgeben() {
System.out.println(daten);
if(naechster != null) {
//System.out.println("Ausgeben naechster " + naechster);
//System.out.println("Ausgeben Daten " + daten);
naechster.ausgeben();
}
}
}
public class Verkettete_Listen{
public static void main(String[] args) {
Listenelement listenAnfang = new Listenelement();
listenAnfang.setDaten("Element 1");
for(int element = 2; element <20; element++)
listenAnfang.anhaengen("Element " + element);
listenAnfang.ausgeben();
}
}