Rekursive Methoden

MiMa

Top Contributor
Hi,

im Buch Java ist auch eine Insel bin ich gerade an dem Kapitel Rekursive Methoden.
Das Folgende Beispiel habe ich abgeschrieben und leider funktioniert es nicht.
Es fehlt die Abbruchbedinnung aber sollte es dann nicht dennoch funktionieren, oder
Führt Java es erst aus, wenn eine Bedienung enthalten ist?

Java:
package beispiele;

public class EndlessRecursion
{
   static void down(int n)
   {
       System.out.print(n+", ");
       down(n-1);
   }
   public static void main(String[] args)
   {
      down(10);
   }
}

Fehlermeldung:

Java:
Exception in thread "main" java.lang.StackOverflowError
	at java.nio.CharBuffer.<init>(CharBuffer.java:276)
	at java.nio.HeapCharBuffer.<init>(HeapCharBuffer.java:70)
	at java.nio.CharBuffer.wrap(CharBuffer.java:369)
	at sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:265)
	at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:125)
	at java.io.OutputStreamWriter.write(OutputStreamWriter.java:207)
	at java.io.BufferedWriter.flushBuffer(BufferedWriter.java:129)
	at java.io.PrintStream.write(PrintStream.java:526)
	at java.io.PrintStream.print(PrintStream.java:669)
	at beispiele.EndlessRecursion.down(EndlessRecursion.java:7)
	at beispiele.EndlessRecursion.down(EndlessRecursion.java:8)
	at beispiele.EndlessRecursion.down(EndlessRecursion.java:8)

Danke
Mi
 
Hallo,


schau dir mal folgendes an: lecture2go.uni-hamburg.de - Veranstaltungen

ab 1 Stunde und 10 Minuten

Hier wird die Rekursion sehr gut erklärt. Das Problem ist, dass die einzelnen Methoden aufrufe er zurückgegeben werden, wenn die Abbruchstelle gefunden wurde, ist dies NIE der Fall läuft irgendwann der Speicher über, wie Fant bereits geschrieben hat.
 

Neue Themen


Zurück
Oben