Estoy creando una arbol binario, en el cual los elementos del nodo son un apuntador al nodoIzquierdo, un apuntador al nodoDerecho y el dato sería de tipo L, que a su vez es una clase que contiene dos elementos de tipo String uno que se llama lexema y otro categoria.
Para la clase NodoArbol tengo 2 constructores uno al que le paso un objeto de tipo L, y otra al que le paso simplemente un String, y ese string lo tengo que almacenar en el campo lexico de un objeto L, por eso lo hice de la siguiente manera:
Código
class L{ String lexico; String categoria; L(){ lexico = ""; categoria = ""; } } class NodoArbol{ NodoArbol nodoIzq; NodoArbol nodoDer; L lexema; public NodoArbol(L datos){ lexema = datos; nodoIzq = nodoDer = null; } lexema.lexico = datos;// aqui esta el error lexema.categoria = ""; nodoIzq = nodoDer = null; } public void insertar(L datos){ if((datos.categoria).equals("Id")) { if(nodoIzq == null) { nodoIzq = new NodoArbol(datos); } else nodoIzq.insertar(datos); } else { if(nodoDer == null) nodoDer = new NodoArbol(datos); else nodoDer.insertar(datos); } } } class Arbol{ private NodoArbol raiz; public Arbol sig; public Arbol(){ raiz = null; sig = null; } if(raiz == null) { raiz = new NodoArbol(datos); } } public void insertarNodo(L datos){ if(raiz == null) { raiz = new NodoArbol(datos); } else raiz.insertar(datos); } }
el problema es que a la hora de mandar llamar al metodo insertarNodo() con un String como argumento, me manda un excepcion NullPointerException, en el siguiente constructor:
Código
lexema.lexico = datos;// aqui esta el problema lexema.categoria = ""; nodoIzq = nodoDer = null; }
y no tengo idea de cómo arreglarlo
gracias de antemano