|
Indice | Temas Recientes | Quién Está en LÃnea | Lista de Usuarios | Mi Perfil | Búsqueda | Ayuda |
![]() |
mvnForum » Listar todos los foros » Foro: Curso PLJ » Tema: Sesion 10 - Error! |
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 |
|
![]() Extranjero
|
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 |
||
|
![]() Extranjero
|
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??? |
||
|
![]() Extranjero
|
---------------------------------------- [Editado 2 veces, Ãltima edición por xavivars en Jul 18, 2004 6:12:05 PM] |
||
|
![]() Extranjero
|
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 |
||
|
![]() Extranjero
|
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 |
||
|
![]() Extranjero
|
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. |
||
|
![]() Extranjero
|
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) |
||
|
![]() Miembro
|
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. |
||
|
[Versión imprimible] [Publicar nuevo tema] |