gente tenho um problema curioso:
estou precisando alocar 9! de int recursivamente mas tenho o seguinte erro:
===========================================
Exception in thread "main" java.lang.StackOverflowError
at java.nio.Buffer.<init>(Buffer.java:176)
at java.nio.CharBuffer.<init>(CharBuffer.java:257)
at java.nio.HeapCharBuffer.<init>(HeapCharBuffer.java:52)
at java.nio.CharBuffer.wrap(CharBuffer.java:342)
at
sun.nio.cs.StreamEncoder$CharsetSE.implWrite(StreamEncoder.java:376)
at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:134)
at java.io.OutputStreamWriter.write(OutputStreamWriter.java:191)
at java.io.BufferedWriter.flushBuffer(BufferedWriter.java:111)
at java.io.PrintStream.write(PrintStream.java:304)
at java.io.PrintStream.print(PrintStream.java:376)
at java.io.PrintStream.println(PrintStream.java:515)
===========================================
gerado pela execu��o do seguinte c�digo:
===========================================
public class Aloca{
static int v[]=new int[362880];
static int soma=0;
public static void main(String args[]){
adiciona(soma);
}
static public void adiciona(int e){
if (soma<362880){//9!
v[soma++]=soma;
System.out .println(soma);
adiciona(soma);
}
}
}
===========================================
mas pelo codigo abaixo a aloca��o ocorre perfeitamente:
===========================================
public class Aloca2{
static int v[]=new int[362880];
static int soma=0;
public static void main(String args[]){
while (soma<362880){
v[soma++]=soma;
System.out .println(soma);
}
}
}
==========================================
Gostaria de saber porqu� isso acontece, desde j� agrade�o a ajuda.
Aeliton
-------------------------------------------------------------------------------------------
Ceara' Java User Group
Para cancelar sua assinatura, envie um e-mail para: [EMAIL PROTECTED]
Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]
Falar com o administrador? e-mail para: [EMAIL PROTECTED]