Lectura desde el teclado La biblioteca scanner provoca varios bugs, pero existe una alternativa, utilizar la clase BufferedReader. Agregamos a nuestro código las siguientes bibliotecas: import java.io.BufferedReader; //Buffer de entreada import java.io.InputStreamReader; //Utiliza los métodos para lectura desde el teclado import java.io.IOException; //Manejo de la excepción de entrada y salida Agregamos el siguiente código dentro del método main //Creamos un objeto BufferReader BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //Ya tenemos el "lector" System.out.println("Por favor ingrese su nombre");//Se pide un dato al usuario String nombre = ""; try { nombre = br.readLine(); //Se lee el nombre con readLine() que retorna un String con el dato } catch(Exception e){ System.out.println("Ocurrio un error de lectura..."); } System.out.println("Bienvenido " + nombre); El problema con esta clase es que solo recibe datos de tipo String. Para convertir datos de otro tipo utilizamos el cast public static void main(String[] args) { //Creamos un objeto BufferReader BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //Ya tenemos el "lector" System.out.println("Por favor ingrese un numero entero");//Se pide un dato al usuario int numero = 0; try { //Cast de String a Entero numero = Integer.parseInt(br.readLine()); //Se lee el nombre con readLine() que retorna un String con el dato } catch(Exception e){ System.out.println("Ocurrio un error de lectura..."); } numero = numero * numero; System.out.println("Número al Cuadrado " + numero); } }