Java - NullPointerException por qué???

   
Vista:

NullPointerException por qué???

Publicado por Emilio J. (9 intervenciones) el 24/01/2014 19:18:20
Hola!!!

A ver si alguien me puede ayudar:

Tengo un array de objetos tipo Cliente donde hay guardo la información de los mismos (dni,nombre,teléfono...) y tengo también este método:

1
2
3
4
5
6
7
8
9
10
11
public static void mostrarClientes()
  {
    int contador = 0;
    Cliente cli = null;
    for (int i = 0; i<clientes.size() && cli==null;i++)
    {
      System.out.println(contador + ". " + cli.getDNI() + " " + cli.getNombre() );
      contador++;
    }
 
  }

y me da el error: Exception in thread "main" java.lang.NullPointerException
Lo único que hago es llamarlo con Cliente.mostrarClientes(); en el programa principal

Gracias anticipadas
Saludos!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

NullPointerException por qué???

Publicado por Jose (12 intervenciones) el 24/01/2014 20:16:57
Emilio que tal

pues primero no entiendo en el for porque pones como condición que sea null, ahora como inicializas la variable de tipo cliente a null pues se cumple el for pero java marca el error de java.lang.NullPointerException cuando una variable llega nula a alguna lado.

podrías manejar la excepción con un try pero en este caso tu provocas que llegue null.

podrias crear el objeto fuera del for o dentro segun sea tu necesidad y quitar el null del for o explicar porque lo pones.

por el momento podrias verificar si esto funciona (nota: ingresa el codigo como codigo para mejorar su lectura)

1
2
3
4
5
6
7
8
9
10
11
12
public static void mostrarClientes()
{
int contador = 0;
//Cliente cli = null;   eso no deberia ir null
Cliente cli = new  Cliente();
for (int i = 0; i<clientes.size(); i++) //explica porque metes que sea null si lo metes null lanzara la excepcion
{
System.out.println(contador + ". " + cli.getDNI() + " " + cli.getNombre() );
contador++;
}
 
}


comenta si lo solucionas

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

NullPointerException por qué???

Publicado por Emilio J (9 intervenciones) el 27/01/2014 13:09:06
Tienes razón, gracías

Lo he solventado así:

1
2
3
4
5
6
7
8
9
10
public static void mostrarClientes()
  {
    int contador = 0;
    for (Cliente cli : clientes)
    {
      System.out.println(contador + ". " + cli.getDNI() + " " + cli.getNombre() );
      contador++;
    }
 
  }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar