Cuando nos estamos iniciando en el mundo de la programación Java es muy común construir aplicaciones Java de consola (programas que corren en una ventana terminal o en un prompt de MS-DOS) y nos vemos en la necesidad de ingresar de alguna manera datos a nuestro programa. Una alternativa es el paso de parámetros (la razón del porqué el método main recibe un arreglo de tipo String), pero si queremos cambiar un dato de ingreso necesitamos volver a ejecutar el programa. Otra solución es utilizar un código como este:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String str = “”;
while (str != null)
{System.out.print(”ingreso > “);
str = in.readLine();}
Pero resulta algo tedioso de memorizar.Tomando en cuenta lo anterior la gente de Sun ha creado una nueva clase, que permite con un par de líneas realizar la misma tarea. Veamos el siguiente ejemplo:
Scanner entrada = new Scanner(System.in);
System.out.print(”Ingrese un valor: “);
num = entrada.nextInt();
Utilizando la clase Scanner es posible leer los datos ingresados por el usuario desde teclado, para ello debemos utilizar el objeto de entrada por defecto(System.in). El método nextInt() toma lo digitado por el usuario y lo convierte en un número entero (existen varios métodos next… para cada tipo de dato primitivo de Java y para algunos tipos de datos compuestos, como cadena de caracteres).También para la salida de datos, con formato, existe un nuevo método printf. Éste método permite entre otras cosas:
- Redondeo de los decimales de un número.
- Alineación de números en columnas
- Justificación izquierda y derecha
- Representación de números en formato exponencial.
- Mostrar fecha y hora en varios formatos.
El método printf recibe como parámetros el formato y los valores que presentará. Veamos un ejemplo:
System.out.printf(”%d%s\n”, num, ” es primo”);
%d se utiliza para números enteros, mientras %s para cadena de caracteres (String). Esta primera parte se conoce como el formato para mayores detalles vea aquí. Los otros 2 argumentos son los valores que se mostrarán el primero es una variable tipo int y el segundo un String. Pueden encontrar una mayor referencia en el libro Java How to program, sixt Edition de Dietel&Dietel.
El código completo lo pueden descargar desde aquí.

