mvnForum Homepage Bienvenido domingo  |  Terminar sesión   
  Búsqueda  
  Indice |  Temas Recientes |  Quién Está en Línea |  Lista de Usuarios |  Mi Perfil |  Búsqueda |  Ayuda


Ir a »
Total de mensajes en este tema: 8 [Eliminar este Tema] [Mover este Tema]
[Ańadir a Mis Favoritos] [Ańadir un aviso a este tema] [Publicar nuevo tema]
Autor
Tema Anterior Este tema ha sido visto 63 veces y tiene 7 respuestas Tema Siguiente
Femenino jabp
Extranjero



Ingresó: Jul 1, 2004
Mensajes: 7
Estado: Desconectados

Adjuntar archivo   Editar este mensaje   Sesion 10 - Error! Responder a este mensaje
Responder citando
[Eliminar este Tema]

Hola!

A la hora de crear el siguiente bucle en la clase AplicGeom:

// ... Aquí iría el resto del código: un bucle para
// recorrer las figuras del array "fig" (si no es null)
// y meterlas en la lista "figuras" :

int i = 0;
while (fig!= null)
{
figuras.add(fig);
i++;
}

No da ningun error de compilacion, pero si de ejecucion en la linea de: " fig ". Como esta en el enunciado, fig se declara asi:

Figura[] fig = IOFiguras.leeFiguras(fichero);

Entonces puedo usar fig como yo lo he hecho???????

Ayuda por favor!! :P
[Jul 18, 2004 6:04:31 PM] Print Post Reportar mensaje ofensivo  Ir al inicio 
Femenino jjmd2
Extranjero



Ingresó: Jun 25, 2004
Mensajes: 3
Estado: Desconectados

Adjuntar archivo   Editar este mensaje   Re: Sesion 10 - Error! Responder a este mensaje
Responder citando
[Eliminar este mensaje]

A mi me pasa lo mismo y me da el siguiente error

java.lang.NullPointerException
at modulo2.sesion10.AplicGeom.<init>(AplicGeom.java:29)
at modulo2.sesion10.AplicGeom.main(AplicGeom.java:89)
Exception in thread "main"


alguien sabe como solucionarlo???
[Jul 18, 2004 6:08:14 PM] Print Post Reportar mensaje ofensivo  Ir al inicio 
Masculino xavivars
Extranjero



Ingresó: May 10, 2004
Mensajes: 14
Estado: Desconectados

Adjuntar archivo   Editar este mensaje   Re: Sesion 10 - Error! Responder a este mensaje
Responder citando
[Eliminar este mensaje]


for(int i=0;i<fig.length;i++)
{
figuras.add(fig[ i]);
}

----------------------------------------
[Editado 2 veces, Última edición por xavivars en Jul 18, 2004 6:12:05 PM]
[Jul 18, 2004 6:09:29 PM] Print Post Reportar mensaje ofensivo  Ir al inicio 
Femenino jabp
Extranjero



Ingresó: Jul 1, 2004
Mensajes: 7
Estado: Desconectados

Adjuntar archivo   Editar este mensaje   Re: Sesion 10 - Error! Responder a este mensaje
Responder citando
[Eliminar este mensaje]

Si, lo mismico....

Me ocurre lo mismo, a ver si alguien nos ayuda!!


porque de esta forma tampoco sabemos si el resto del codigo implementado estara bien o no :S
[Jul 18, 2004 6:10:58 PM] Print Post Reportar mensaje ofensivo  Ir al inicio 
Femenino jjmd2
Extranjero



Ingresó: Jun 25, 2004
Mensajes: 3
Estado: Desconectados

Adjuntar archivo   Editar este mensaje   Re: Sesion 10 - Error! Responder a este mensaje
Responder citando
[Eliminar este mensaje]

xavivars me sigue dando el mismo error

java.lang.NullPointerException
at modulo2.sesion10.AplicGeom.<init>(AplicGeom.java:26)
at modulo2.sesion10.AplicGeom.main(AplicGeom.java:90)
Exception in thread "main"

la linea 26 es

for(int i=0;i<fig.length;i++)

y la 90

AplicGeom ag = new AplicGeom(args[0]);

ayuda porfabor
[Jul 18, 2004 6:18:54 PM] Print Post Reportar mensaje ofensivo  Ir al inicio 
Masculino rsm
Extranjero



Ingresó: Jul 1, 2004
Mensajes: 11
Estado: Desconectados

Adjuntar archivo   Editar este mensaje   Re: Sesion 10 - Error! Responder a este mensaje
Responder citando
[Eliminar este mensaje]

rYo estoy igual.

Lo que creo que está pasando es que

IOFiguras.leeFiguras(fichero); devuelve null porque no

hay ninguna figura. Entonces al intentar acceder a fig

nos da error porque fig es null (no ha sido creado).

Lo he podido solucionar así:
if (fig!=null) {
for (int i=0;i<fig.length;i++) {
figuras.add(fig);
}
}

No sé si es una solución válida pero de momento he

podido pasar de ahí... Ahora veremos si el resto me lo

hace bien.
[Jul 18, 2004 6:54:00 PM] Print Post    rjsm1@alu.ua.es Reportar mensaje ofensivo  Ir al inicio 
Masculino xavivars
Extranjero



Ingresó: May 10, 2004
Mensajes: 14
Estado: Desconectados

Adjuntar archivo   Editar este mensaje   Re: Sesion 10 - Error! Responder a este mensaje
Responder citando
[Eliminar este mensaje]

Jo ho he solucionat modificant el leeFichero i fent que mai torne null. En canvi, si la arrayList està buida, torne un Figura [0], que no és el mateix que null (pots accedir al camp fig sense problemes, i et tornarà 0)
[Jul 18, 2004 7:12:09 PM] Print Post Reportar mensaje ofensivo  Ir al inicio 
Masculino nacho
Miembro



Ingresó: Feb 1, 2004
Mensajes: 63
Estado: Desconectados

Adjuntar archivo   Editar este mensaje   Re: Sesion 10 - Error! Responder a este mensaje
Responder citando
[Eliminar este mensaje]

Hola a todos.

Bueno, el método leeFiguras que os pone en el enunciado del ejercicio (capturando las excepciones que os indique al compilar) os permite directamente leer un fichero de figuras. Si dicho fichero existe, os devolverá el array de figuras, y si no existe, o no hay figuras, os devolverá "null".

Así que basta con hacer:

Figura[] fig = IOFiguras.leeFiguras(fichero);
ArrayList figuras = new ArrayList();
if (fig != null)
{
for (int i = 0; i < fig.length; i++)
{
figuras.add(fig);
}
}

y ya tendremos las figuras del fichero cargadas en un ArrayList.

Como he dicho en otros hilos, y como explica en el enunciado, observad que leeFiguras consiste en un bucle while que va leyendo de fichero. Si el fichero no existe, lanzará una excepción crear el ObjectInputStream. Si el fichero existe, lanzará otra excepción cuando llegue al final del fichero, dentro del "while". DA IGUAL QUE LANCE UNA EXCEPCION U OTRA. Se trata de leer las figuras que haya, si las hay. Cuando se lance la excepción en el ArrayList tendremos las figuras que haya, o tendremos una lista vacía si no había fichero, o no había figuras. En el primer caso devolvemos el array de figuras, y en el segundo caso, si no había fichero o figuras en el fichero, devolveremos null. Luego el tratamiento de lo que devuelve el método es el que os he puesto arriba.
[Jul 19, 2004 12:51:01 AM] Print Post    iiborra@dccia.ua.es Reportar mensaje ofensivo  Ir al inicio 
[Versión imprimible] [Publicar nuevo tema]