Java - consulta sobre : java.lang.NullPointerException

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 12 puestos en Java (en relación al último mes)
Gráfica de Java

consulta sobre : java.lang.NullPointerException

Publicado por romer (2 intervenciones) el 04/10/2018 20:28:21
Saludos :
Estoy aprendiendo en lo que respecta a programación en java
Tengo este programa básico :

1
2
3
4
5
6
7
8
9
10
11
12
13
public class DimeTuNombre {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String nombre ;
    System.out.print("Por favor, dime cómo te llamas: ");
    nombre = System.console().readLine();
    System.out.println("Hola " + nombre + ", ¡encantado de conocerte!");
    }
 
}


pero obtengo este mensaje:

Exception in thread "main" java.lang.NullPointerException
at DimeTuNombre.main(DimeTuNombre.java:19)
Por favor, dime cómo te llamas: C:\Users\romer\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)

buscando en Internet descubrí que la causa podría ser que la variable nombre sea nula pero , nada mas
podrían ayudarme a entender el problema en la linea 19 de mi código

Muchas gracias ...
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
Imágen de perfil de Kabuto
Val: 2.347
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

consulta sobre : java.lang.NullPointerException

Publicado por Kabuto (585 intervenciones) el 04/10/2018 23:37:31
Hola.
En Java no se puede usar el System.console() del modo que tú lo has hecho. Eso es más propio de C# (que es extremadamente similar a Java en muchas cosas y fáciles de confundir)

PAra leer dator por teclado en Java, lo más sencillo es utilizar la clase Scanner. Instancias un objeto de esta clase con el nombre que tu quieras (yo siempre le llamo "teclado" ) y con su metodo readLine() te leera un dato String por teclado.

Fíjate que para poder usar la clase Scanner, hay que hacer un import previamente

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.Scanner;
 
public class DimeTuNombre {
 
	/**
	 * @param args the command line arguments
	 */
	public static void main(String[] args) {
 
		Scanner teclado = new Scanner(System.in);
 
		String nombre ;
		System.out.print("Por favor, dime cómo te llamas: ");
		nombre = teclado.nextLine();
		System.out.println("Hola " + nombre + ", ¡encantado de conocerte!");
 
		teclado.close();//No es obligatorio cerrar el Scanner, pero es buena costumbre
	}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 3
Ha disminuido su posición en 12 puestos en Java (en relación al último mes)
Gráfica de Java

consulta sobre : java.lang.NullPointerException

Publicado por Romer (2 intervenciones) el 05/10/2018 06:44:47
Muchas gracias por la aclaración me fue de mucha ayuda ...
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

consulta sobre : java.lang.NullPointerException

Publicado por Tom (1573 intervenciones) el 05/10/2018 11:21:34
https://docs.oracle.com/javase/8/docs/api/java/io/Console.html

1
2
3
if(System.console() != null) {
    System.console().readLine();
  }
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