style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Ayuda con codigo.

Hola primero un saludo para todos los integrantes de esta comunidad,estoy haciendo mis primeros pininos en lenguaje java y un amigo me paso un libro con nombre Java2 por Francisco Ceballos y el punto es que siguiendo un ejemplo me lanza el siguiente error Exception in thread "main" java.lang.NullPointerException at CArrayListObjString.main(CArrayListObjString.java:38), uso Eclipse como ide, les dejo el codigo y agradesco mucho su ayuda para aclarar cual es el error que estoy comentiendo. Pls me podrian recomendar libros en general de java tambien se los agradeceria bastante.

import java.util.*;
import java.io.*;

public class CArrayListObjString {
        public static void main(String[] args)
        {
                try
                {
                        //Definir el flujo de caracteres de entrada: flujoE
                        InputStreamReader isr = new InputStreamReader(System.in);
                        BufferedReader flujoE = new BufferedReader(isr);
                       
                        //definir una referencia al flujo de salida estandar de salida: flujoS
                        PrintStream flujoS = System.out;
                       
                        int fila = 0;
                        //Matriz de cadena de caracteres
                        ArrayList<String> nombre = new ArrayList<String>();
                        String snombre;
                       
                        System.out.println("Escriba los nombres que desea.");
                        System.out.println("Puede finalizar pulsando las teclas Crt + Z ");
                        flujoS.print("Nombre [" + fila + "]: ");
                        snombre = flujoE.readLine();
                        while (snombre != null)
                        {
                                nombre.add(snombre);
                                flujoS.print("Nombre[" + fila + "]: ");
                                snombre = flujoE.readLine();
                        }
                        flujoS.print("\n");
                       
                        char respuesta;
                        do
                        {
                                flujoS.print("¿Desea visualizar el contenido de la matriz? (s/n): ");
                                respuesta = ((flujoE.readLine()).toLowerCase()).charAt(0);                             
                        }while (respuesta != 's' && respuesta != 'n');
                       
                        if (respuesta == 's')
                        {
                                flujoS.println();
                                for(fila = 0; fila < nombre.size(); fila ++)
                                        flujoS.println(nombre.get(fila));
                        }
                }
        catch (IOException ignorada) {}
}
}

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de keme2002

Complementando

El mensaje de error me sale después de la linea cuando me pregunta si deseo visualizar el contenido de la matriz...Saludos!!

Imagen de neko069

Pega el stacktrace del error.

Pega el stacktrace del error.

Imagen de keme2002

Stacktrace

Segun yo esto es lo que me solicitas compañero?

Exception in thread "main" java.lang.NullPointerException at CArrayListObjString.main(CArrayListObjString.java:38)

Saludos.

Eso dice: En la linea 38, hay

Eso dice: En la linea 38, hay un objeto que es nulo y tu estás queriendo invocar un método o acceder a un atributo.

Ahora en lo que escribiste la linea 38 es esta.

flujoS.print("¿Desea visualizar el contenido de la matriz? (s/n): ");

El cual no es posible que sea nulo, luego entonces, TU linea 38 debe de ser otra pero no sabemos cual.

Ahora que sabes como leer tu mensaje de error, intenta tu mismo entender que es lo que tienes nulo.

No olvides postear acá la respuesta cuando la tengas.

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">