Estoy con una practica , y me esta saliendo un error que debe ser por que estoy cometiendo alguna barbaridad supongo, a ver si me deciis donde y el que , que espero no tener todo mal.
El error me esta dando en las ultimas lineas , mas en concreto en : act.sig=new NodoAgenda(p,null);
Os pongo un trozo del codigo.
package Agenda;
class NodoAgenda {
Persona info;
NodoAgenda sig;
NodoAgenda (Persona p, NodoAgenda siguiente) {
info = p;
sig = siguiente;
}
}
public class Agenda {
private NodoAgenda inicio;
private int numPersonas;
public Agenda ( ) {
inicio = null;
numPersonas = 0;
}
public boolean aniadirPersona(Persona p) throws IOException{
NodoAgenda act,ant;
act=inicio;
ant=act;
boolean encontrado=false,aux=false;
String dato,apenom;
dato=p.obtenerApellidos()+" "+p.obtenerNombre();
while(act!=null && !encontrado)
{
ant=act;
act=act.sig;
apenom=act.info.obtenerApellidos()+" "+act.info.obtenerNombre();
//Si ya esta ese apellidonombre , encontrado=true para salir del while.
if (apenom==dato)encontrado=true;
//Si ha encontrado el sitio , o ha llegado al final de la lista, inserta
if(dato.compareTo(apenom)<0)
{
ant.sig=new NodoAgenda(p,act);
numPersonas++;
encontrado=aux=true;
}
}
/*Si sale del while y !encontrado, ha llegado a fin de lista sin insertar,
con lo cual , insertamos P*/
if(!encontrado)
{
[b]act.sig=new NodoAgenda(p,null);[/b]
numPersonas++;
aux=true;
}
return aux;
}