Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/05/2011, 08:54
Gaudy
 
Fecha de Ingreso: junio-2009
Mensajes: 84
Antigüedad: 14 años, 10 meses
Puntos: 2
Eror del Compilado o del IDE?

Buenas, aca traigo un problema q no se si será el compilador, el JDK o quizas q cosa, pero compilo el codigo y no señala error, pero al momento de ejecutarlo me marca error, yo pensé q lo tenia mal escrito, asi que lo llevé en un pendrive al profe para q me revisara q cosa estaba mal, lo compilamos la 1º vez y lo ejecutamos, no tenia ni un error y funcionaba, asiq pensé q era un problema de Netbeans, ya q el programa interpreté q usamos en el notebook del profe era Eclipse, volvi a mi casa, me descargue eclipse, y al compilarlo me sale exactamente el mismo error, asiq pensé... debe ser el JDK, me descargue el mas actualizado (JDK 6 u 25)... lo mismo, me descargo el JDK 5 u 22.... lo mismo....

Simplemente no se cual es el problema, porq ya comprobé q el codigo esta bueno, pero no tengo remota idea q es lo q falla...

Este es el mensaje q me marca
Código:
run: Exception in thread "main" java.lang.StackOverflowError
        at ted.ABB.Comparar(ABB.java:18)
        at ted.ABB.Comparar(ABB.java:18)
repite el mismo mensaje cientos de veces...
Y este el codigo...
Código PHP:
import java.io.*;

public class 
ABB {
    
String palabra;
    
ABB izq,der;
    
ABB(String d){
        
palabra d;
        
izq=der=null;
    }
    
ABB insertar(ABB tString d){
        if(
== null) return new ABB(d);
        if(
Comparar(d,palabra,0)) t.izq insertar(t.izq,d);
        else 
t.der insertar(t.der,d);
        return 
t;
    }
    
boolean Comparar(String aString b,int i){
        if(
a.charAt(i) == b.charAt(i)) return Comparar(a,b,i++);
        if(
a.charAt(i) < b.charAt(i)) return true;
        return 
false;
    }
    
void inOrden(ABB t){
        if(
!=null){
            
inOrden(t.izq);
            
System.out.print(" "+t.palabra);
            
inOrden(t.der);
        }
    }
    public static 
void main(String[] argsthrows IOException {
        
BufferedReader br = new BufferedReader(new FileReader("" +
                
"C:\\Archivo.txt"));
        
ABB t = new ABB(br.readLine());
        
String p;
        while((
br.readLine())!=null){
            
t.insertar(t,p);
        }
        
t.inOrden(t);
    }

PD: Obviamente cada vez q instalo otro JDK los redefino como predeterminados a los interpretes NetBeans, JCreator, etc...

Espero q me puedan ayudar porq no se q será