Foros del Web » Programación para mayores de 30 ;) » Java »

problema extraño

Estas en el tema de problema extraño en el foro de Java en Foros del Web. hola a todos tengo la siguiente clase libros Código PHP: private  Vector autores ;      private  String titulo ;     private  String isbn ;           Libro ( String titulo ,  ...
  #1 (permalink)  
Antiguo 15/11/2006, 20:10
 
Fecha de Ingreso: octubre-2004
Ubicación: chile
Mensajes: 116
Antigüedad: 19 años, 6 meses
Puntos: 0
problema extraño

hola a todos
tengo la siguiente clase libros

Código PHP:
private Vector autores
    private 
String titulo;
    private 
String isbn;
    
    
Libro(String tituloString isbnAutor[] autores){
        
this.titulo=titulo;
        
this.isbn=isbn;
        
int i=0;
        while(
i<autores.length)
        {
            
this.autores.add(autores[i]);
            
i++;
        }
    }

    public 
String getISBN()
    {
        return 
isbn;
    }

    public 
String getTitulo()
    {
        return 
titulo;
    }

    
Vector getAutores()
    {
        return 
autores;
    }

    
void agregaAutor(Autor autor)
    {
        
autores.add(autor);
    } 
y en una parte del programa tengo esto

Autor aut[]= new Autor[5];
:
:
:
Libro newLibro= new Libro("libro","libro",aut);

pero me lanza la siguiente exception
java.lang.NullPointerException

e revisado el codigo una y otra y otra pero no encuentro el error :(
el programa se kae en esa linea
grax
  #2 (permalink)  
Antiguo 15/11/2006, 22:50
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Hola:
Asi por encima, en la linea this.autores.add(autores[i]); no has creado la variable this.autores.

Necesitas hacer en algún momento, antes de eso
this.Autores = new Vector()

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 16/11/2006, 01:32
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Tambien por claridad, es mejor que un Vector y un array (Autor[]), que son objetos distintos, no usen el mismo nombre. En los constructores a veces se usa el mismo nombre para el parametro y el miembro privado, pero sólo si son del mismo tipo.
Así no te confundirás con los metodos que puedes usar de uno u otro
  #4 (permalink)  
Antiguo 16/11/2006, 10:35
 
Fecha de Ingreso: octubre-2004
Ubicación: chile
Mensajes: 116
Antigüedad: 19 años, 6 meses
Puntos: 0
gracias
intente con eso de this.autores=new vector()
pero el problema sigue :(
  #5 (permalink)  
Antiguo 16/11/2006, 11:41
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Sin saber que dice la excepcion (linea donde da la NPE) y la linea que es en tu programa, es un poco adivinanza.
  #6 (permalink)  
Antiguo 19/11/2006, 21:22
 
Fecha de Ingreso: agosto-2006
Mensajes: 3
Antigüedad: 17 años, 8 meses
Puntos: 0
tamaño arreglo

hola...el error q sale es que en algun momento te estas saliendo del tamaño del arreglo...
  #7 (permalink)  
Antiguo 20/11/2006, 01:29
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Eummm.... normalmente eso daría un ArrayIndexOutOfBounds, no un NullPointerException.
  #8 (permalink)  
Antiguo 20/11/2006, 02:45
Avatar de Valkam  
Fecha de Ingreso: junio-2006
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 17 años, 10 meses
Puntos: 0
NullPointerException

Supongo que el array de Autores lo inicializarás correctamente no??. Al no ser un array de tipo básico debes inicializar tu su contenido antes de usarlo posteriormente
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:35.