he creado una clase nodo, definido como:
Código:
dentro de esa misma clase, tengo diferentes funciones para acceder a dichos valores como public nodoN(){ int a; String b; hijos = new ArrayList<nodoN>(); padre=null; }
Código:
etc. public int getValor() {return a;}
Ahora quiero añadir un hijo a una estructura ya creada, para ello desde la clase donde trabajo, llamo a la función correspondiente de la siguiente forma:
.
.
.
nodoN = aux;
.
.
//metemos los valores necesarios en aux
.
.
n.agregarNodo(aux);
Siendo n el nodo actual donde estoy trabajando con diferentes datos y definiendo la función agregar nodo de la siguiente forma:
Código:
con este código pienso que debería acceder dentro del nodo actual a la estructura padre, y comprobar el valor, si no es null, lo añade. Pero en lugar de eso, siempre me sale que el valor del padre es nulo, por lo que nunca lo agrega. Esto no es posible ya que lo he comprobado antes de llamar a la función, lo que ocurre es que me está cogiendo un valor padre diferente, el de la inicialización de la clase, para ser exacto, en lugar del nodo n en el que me encuentro actualmente. ¿Por qué? ¿Cómo podría añadir el nodo hijo al nodo al nodo n donde me encuentro?.public void agregarNodo(nodoN hijo) { if(padre==null) { System.out.println("Debes crear un padre para crear un hijo"); } else { padre.hijos.add(hijo); hijo.padre=padre; } }
Saludos y muchas gracias por vuestro tiempo a todos.