formulo mi pregunta puesto que con el siguiente recorrido, con el que no he tenido problemas en c++ estoy teniendo problemas al usarlo en java.
private Arma obtenerArmaPoderosa(Arbol<Arma> armas) throws ArmaException {
Arma a = new Arma(0,"");
Arbol<Arma> aux;
if(!armas.vacio()) {
if((aux = armas.getHijoIzq()) != null) {
obtenerArmaPoderosa(aux);
}
if(aux.getRaiz().getPoder() > a.getPoder()) {
a.setNombre(aux.getRaiz().getNombre());
a.setPoder(aux.getRaiz().getPoder());
}
if((aux = armas.getHijoDer()) != null) {
obtenerArmaPoderosa(aux);
}
}
return a;
}
Es un recorrido en orden de un arbol de tipo armas que tiene dos atributos: nombre y poder. El arbol pasado por parametros está ordenado por el nombre de las armas (alfabeticamente), necesito en esta ocasión quedarme con el arma de mayor poder. Pero por alguna razón me da un null pointer exception que me tiene un poco frustrado. Gracias de antebrazo.