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] 
 

Responder a