# Rekursion in Originalreihenfolge ausgeben



## JaTiEr (27. Jun 2018)

Hallo,
ich habe hier eine Aufgabe, bei der ich eine rekursive Methode erstellen soll, die die eingegebenen Zeilen in der Originalreihenfolge wieder ausgibt.
Durch die rekursion bedingt, gelingt es mir allerdings nur, dass diese in der verkehrten Reihenfolge wieder ausgegeben werden. Irgendwie stehe ich auf dem Schlauch.
Ich habe euch mal die Aufgabe + meinen Lösungansatz beigefügt.





Meine bisherige Lösung:


----------



## Flown (27. Jun 2018)

Deine Lösung ist super, wenn man einfach die 2 Anweisungen vertauscht (displayLineNumbers(line+1) und System.out.println(line + " " + s)), dann klappt das auch mit der richtigen Ausgabe.


----------



## JaTiEr (29. Jun 2018)

Danke für die schnelle Antwort.
Das hatte ich auch schon getestet, allerdings erfolgt die Ausgabe dann ja immer zwischendurch.
Ich denke aber, dass erst die ganze Eingabe erfolgen soll und danach die Ausgabe in einem Schwung.
Also mit dem vertauschen, sieht die Ausgabe nun so aus:





Ich hätte es aber gerne so:
Test
Java
Forum
---
1 Test
2 Java
3 Forum


----------



## httpdigest (29. Jun 2018)

Du brauchst einen sogenannten "Akkumulator" (engl. accumulator), da du ja für jeden Rekursionsschritt `n` das Teilergebnis des Rekursionsschrittes `n-1` benötigst, welches die bis dahin eingegebenen Zeilen sind, um alles am Schluss auf einmal auszugeben.
Google mal ein bisschen nach "recusion accumulator".


----------

