Para leer datos que un usuario ingresa en la consola, Java nos provee la clase Scanner, ubicada en el paquete java.util. Dado que no viene incluida por defecto en el archivo básico, debemos importarla explícitamente en la parte superior del archivo.
Para iniciarla, hay que crear una instancia (objeto) vinculándola a la entrada del sistema opertivo (System.in).
Uso clásico de Scanner
JAVA
1 // 1. Importación obligatoria antes de tu class
2 import java.util.Scanner;
3
4 publicclass Main {
5 publicstaticvoidmain(String[] args) {
6 // 2. Crear una instancia de Scanner
7 Scanner lector = newScanner(System.in);
8
9 System.out.print("Escribe tu nombre: ");
10 // 3. Leer una cadena de texto hasta que pulse Enter
15 // 4. Buena práctica: Cerrar el Scanner al terminar de usar recursos locales
16 lector.close();
17 }
18 }
Lectura Estricta de Números
Si un usuario necesita ingresar su edad para hacer un guardado matemático (no un string), usamos métodos específicos de la clase Scanner como nextInt() o nextDouble().
Lectura Numérica
JAVA
1 System.out.print("Ingresa tu edad: ");
2 int edad = lector.nextInt();
3
4 int restan = 100 - edad;
5 System.out.println("Te faltan " + restan + " años para ser centenario.");
👨💻 Ejercicio Práctico 1
Misión: Saludo Personalizado
Importa Scanner, pide al usuario que ingrese su pasatiempo favorito y léelo usando .nextLine() para imprimir un comentario sobre su respuesta.
👁️ Ver solución propuesta
Código
JAVA
1 import java.util.Scanner;
2
3 publicclass Main {
4 publicstaticvoidmain(String[] args) {
5 Scanner sc = newScanner(System.in);
6 System.out.print("¿Cuál es tu pasatiempo favorito?: ");
7 String hobby = sc.nextLine();
8
9 System.out.println("¡A mí también me encanta " + hobby + "!");
10 sc.close();
11 }
12 }
👨💻 Ejercicio Práctico 2
Misión: Calculadora Automática
Usa nextInt() para solicitar dos números al usuario e imprime en consola la suma exacta de ambos.
👁️ Ver solución propuesta
Código
JAVA
1 import java.util.Scanner;
2
3 publicclass Main {
4 publicstaticvoidmain(String[] args) {
5 Scanner sc = newScanner(System.in);
6
7 System.out.print("Ingresa un número: ");
8 int num1 = sc.nextInt();
9
10 System.out.print("Ingresa otro número: ");
11 int num2 = sc.nextInt();
12
13 System.out.println("El total es: " + (num1 + num2));
14 sc.close();
15 }
16 }
👨💻 Ejercicio Práctico 3
Misión: Nacimiento estimado
Pregúntale al usuario su edad actual usando nextInt(). Réstala al año estático 2026 para calcular su año de nacimiento aproximado e imprimirlo.
👁️ Ver solución propuesta
Código
JAVA
1 Scanner lector = newScanner(System.in);
2 System.out.print("Ingresa tu edad entera: ");
3 int edad = lector.nextInt();
4 int anio = 2026 - edad;
5 System.out.println("Naciste aproximadamente en " + anio);
👨💻 Ejercicio Práctico 4
Misión: Cuidado con el Decimal
Solicita el precio de un refresco. Usa nextDouble() para permitir que el cliente ingrese números fraccionados (como 12.5) e imprime el valor con sufijo de dólar o moneda local.
👁️ Ver solución propuesta
Código
JAVA
1 Scanner lector = newScanner(System.in);
2 System.out.print("Introduce el precio: ");
3 double precio = lector.nextDouble();
4 System.out.println("El costo final registrado es: $" + precio);
Ponte a prueba
Resuelve este cuestionario para demostrar que dominas el arte de java.util.Scanner.
Java QuizQuiz: Interacción (Scanner)
Son 5 preguntas de opción múltiple. ¡Demuestra lo que has aprendido!
Dato curioso: JDK 1.0 en 1996; James Gosling y Sun Microsystems.
Wikipedia
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.