Problema añadir objetos a una array
Publicado por Nico (14 intervenciones) el 21/02/2018 22:27:28
Hola a todos, tengo un programa con varias clases Persona, Fecha, Libro, ListaLibro y PruebaLibro, creo un objeto tipo libro que tiene un constructor que recibe los datos del autor de la clase persona , la fecha de la clase fecha y otro atributos propios de la clase libro como numero de páginas, edicion.. hasta aquí bien pero al crear la crear un objeto de la clase Listalibro que crea un array de tipo Libro cuando intento añadir un objeto de tipo libro al array me salta el error java.lang.NullPointerException y no se porque. Tengo hechos ejercicos similares y no me dan este error, a ver si alguien me puede ayudar. Adjunto el archivo.
public class PruebaLibros {
public static void main(String[] args) {
Libro libro1 = new Libro("La casa de...", "21465-54-dfd-df454d", "6a.edicion", "Almudevar"
+ ", Huesca", new Persona(54066688, 31, "Juan", "Perez"), new Fecha(21, 02, 2018),
"784 páginas");
libro1.mostrarInformacion();
ListaLibros miLista = new ListaLibros();
miLista.ListaLibros(libro1);//es linea esta en el archivo pero ya la he eliminado era una pueba que habia hecho y se me olvido eliminarla
miLista.addLibro(libro1);
miLista.nLibros();
//miLista.leerLista();
}
}
public class ListaLibros {
private Libro [] milistaLibros;
private int contador = 0, max = 100;
public void ListaLibros() {
milistaLibros = new Libro[max];
}
public boolean addLibro(Libro nuevoLibro) {
if (contador >= 100) {
return false;
}
milistaLibros[contador] = nuevoLibro ;
contador++;
return true;
}
public void nLibros (){
System.out.println(contador);
}
public void leerLista() {
milistaLibros.toString();
}
}
public class Libro {
String titulo, ISBN, edicion, lugar, paginas;
Persona nuevaPersona;
Fecha nuevaFecha;
public Libro(String titulo, String iSBN, String edicion, String lugar, Persona nuevaPersona,
Fecha nuevaFecha, String paginas) {
this.titulo = titulo;
ISBN = iSBN;
this.edicion = edicion;
this.lugar = lugar;
this.nuevaPersona = nuevaPersona;
this.nuevaFecha = nuevaFecha;
this.paginas = paginas;
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getISBN() {
return ISBN;
}
public void setISBN(String iSBN) {
ISBN = iSBN;
}
public String getEdicion() {
return edicion;
}
public void setEdicion(String edicion) {
this.edicion = edicion;
}
public String getLugar() {
return lugar;
}
public void setLugar(String lugar) {
this.lugar = lugar;
}
public Persona getNuevaPersona() {
return nuevaPersona;
}
public void setNuevaPersona(Persona nuevaPersona) {
this.nuevaPersona = nuevaPersona;
}
public Fecha getNuevaFecha() {
return nuevaFecha;
}
public void setNuevaFecha(Fecha nuevaFecha) {
this.nuevaFecha = nuevaFecha;
}
public String getPaginas() {
return paginas;
}
public void setPaginas(String paginas) {
this.paginas = paginas;
}
@Override
public String toString() {
return "Título: " + titulo + "\n" + edicion + "\nAutor: "+ nuevaPersona+"\nISBN: " + ISBN +
"\n" + lugar + ", " + nuevaFecha + "\n"+paginas;
}
public void mostrarInformacion() {
System.out.println("Título: "+titulo+"\n"+edicion);
nuevaPersona.toString();
System.out.println("ISBN: "+ISBN);
System.out.print(lugar+" ");
nuevaFecha.larga();
System.out.println(paginas);
}
}
public class PruebaLibros {
public static void main(String[] args) {
Libro libro1 = new Libro("La casa de...", "21465-54-dfd-df454d", "6a.edicion", "Almudevar"
+ ", Huesca", new Persona(54066688, 31, "Juan", "Perez"), new Fecha(21, 02, 2018),
"784 páginas");
libro1.mostrarInformacion();
ListaLibros miLista = new ListaLibros();
miLista.ListaLibros(libro1);//es linea esta en el archivo pero ya la he eliminado era una pueba que habia hecho y se me olvido eliminarla
miLista.addLibro(libro1);
miLista.nLibros();
//miLista.leerLista();
}
}
public class ListaLibros {
private Libro [] milistaLibros;
private int contador = 0, max = 100;
public void ListaLibros() {
milistaLibros = new Libro[max];
}
public boolean addLibro(Libro nuevoLibro) {
if (contador >= 100) {
return false;
}
milistaLibros[contador] = nuevoLibro ;
contador++;
return true;
}
public void nLibros (){
System.out.println(contador);
}
public void leerLista() {
milistaLibros.toString();
}
}
public class Libro {
String titulo, ISBN, edicion, lugar, paginas;
Persona nuevaPersona;
Fecha nuevaFecha;
public Libro(String titulo, String iSBN, String edicion, String lugar, Persona nuevaPersona,
Fecha nuevaFecha, String paginas) {
this.titulo = titulo;
ISBN = iSBN;
this.edicion = edicion;
this.lugar = lugar;
this.nuevaPersona = nuevaPersona;
this.nuevaFecha = nuevaFecha;
this.paginas = paginas;
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getISBN() {
return ISBN;
}
public void setISBN(String iSBN) {
ISBN = iSBN;
}
public String getEdicion() {
return edicion;
}
public void setEdicion(String edicion) {
this.edicion = edicion;
}
public String getLugar() {
return lugar;
}
public void setLugar(String lugar) {
this.lugar = lugar;
}
public Persona getNuevaPersona() {
return nuevaPersona;
}
public void setNuevaPersona(Persona nuevaPersona) {
this.nuevaPersona = nuevaPersona;
}
public Fecha getNuevaFecha() {
return nuevaFecha;
}
public void setNuevaFecha(Fecha nuevaFecha) {
this.nuevaFecha = nuevaFecha;
}
public String getPaginas() {
return paginas;
}
public void setPaginas(String paginas) {
this.paginas = paginas;
}
@Override
public String toString() {
return "Título: " + titulo + "\n" + edicion + "\nAutor: "+ nuevaPersona+"\nISBN: " + ISBN +
"\n" + lugar + ", " + nuevaFecha + "\n"+paginas;
}
public void mostrarInformacion() {
System.out.println("Título: "+titulo+"\n"+edicion);
nuevaPersona.toString();
System.out.println("ISBN: "+ISBN);
System.out.print(lugar+" ");
nuevaFecha.larga();
System.out.println(paginas);
}
}
- Examen2Eval.zip(19,1 KB)
Valora esta pregunta


0