I created a recursion program to print a message Hello several times, but failed with StackOverflowError in the compilation.
package com.recre;
public class Recursionhello {
static void p() {
System.out.println("Hello");
p();
}
public static void main(String[] args) {
p();
}
}
It is printing the output “Hello” several times and then it is printing the following error message.
out put -
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Exception in thread "main" java.lang.StackOverflowError
at java.io.FileOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at java.io.PrintStream.write(Unknown Source)
at sun.nio.cs.StreamEncoder.writeBytes(Unknown Source)
at sun.nio.cs.StreamEncoder.implFlushBuffer(Unknown Source)
at sun.nio.cs.StreamEncoder.flushBuffer(Unknown Source)
at java.io.OutputStreamWriter.flushBuffer(Unknown Source)
at java.io.PrintStream.write(Unknown Source)
at java.io.PrintStream.print(Unknown Source)
at java.io.PrintStream.println(Unknown Source)
at com.recre.Recursionhello.p(Recursionhello.java:5)
at com.recre.Recursionhello.p(Recursionhello.java:6)
at com.recre.Recursionhello.p(Recursionhello.java:6)
at com.recre.Recursionhello.p(Recursionhello.java:6)
at com.recre.Recursionhello.p(Recursionhello.java:6)
at com.recre.Recursionhello.p(Recursionhello.java:6)
at com.recre.Recursionhello.p(Recursionhello.java:6)
at com.recre.Recursionhello.p(Recursionhello.java:
Here I need assistant on the error and some explanation on the recursion.