Leer entradas con Scanner
Lea entradas del usuario desde System.in
Leer entradas con Scanner es una lección gratuita de Java Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Java Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Java Academy incluye 4 lecciones en total.
Leer desde el teclado
Para leer lo que escribe un usuario, Java proporciona la clase Scanner en el paquete java.util. Se conecta a System.in, el flujo de entrada estándar.
Scanner facilita la lectura de palabras, líneas y números.
Crear un Scanner
Construya un Scanner pasando System.in. Los ejemplos de aquí usan cadenas fijas para que se ejecuten sin entrada, pero los mismos métodos se aplican a la entrada del teclado.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner("Hello");
String word = scanner.next();
System.out.println(word);
scanner.close();
}
}Leer una sola palabra
next() lee un token, es decir, el texto hasta el siguiente espacio en blanco. Los espacios y los saltos de línea separan los tokens.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner("apple banana cherry");
System.out.println(scanner.next());
System.out.println(scanner.next());
scanner.close();
}
}Leer una línea completa
nextLine() lee todo hasta el final de la línea, incluidos los espacios. Úselo cuando la entrada contenga varias palabras que quiera mantener juntas.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner("John Smith");
String fullName = scanner.nextLine();
System.out.println("Name: " + fullName);
scanner.close();
}
}Comprobar si queda más entrada
hasNext() devuelve true mientras queden más tokens. Esto permite repetir el proceso hasta agotar la entrada.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner("red green blue");
while (scanner.hasNext()) {
System.out.println(scanner.next());
}
scanner.close();
}
}Leer línea por línea
Combine hasNextLine() con nextLine() para procesar una entrada de varias líneas, una línea cada vez.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner("line one\nline two\nline three");
while (scanner.hasNextLine()) {
System.out.println("> " + scanner.nextLine());
}
scanner.close();
}
}Un ejemplo con el teclado real
Para leer entradas reales del usuario, escribiría las líneas que aparecen a continuación. Pruébelas localmente: el programa espera en nextLine hasta que escriba y pulse Intro.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = scanner.nextLine();
System.out.println("Hello, " + name);
scanner.close();
}
}Cerrar el Scanner
Al llamar a close() se libera el recurso. Un enfoque más limpio es try-with-resources, que cierra el scanner automáticamente cuando termina el bloque.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
try (Scanner scanner = new Scanner("data here")) {
System.out.println(scanner.next());
}
}
}next frente a nextLine
Recuerde la diferencia fundamental: next() se detiene en los espacios en blanco y devuelve un token, mientras que nextLine() obtiene el resto de la línea actual.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner("first second third");
System.out.println(scanner.next());
System.out.println(scanner.nextLine());
scanner.close();
}
}Delimitadores personalizados
Puede cambiar qué separa los tokens con useDelimiter. En este caso, una coma separa los valores en lugar de los espacios en blanco.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner("a,b,c");
scanner.useDelimiter(",");
while (scanner.hasNext()) {
System.out.println(scanner.next());
}
scanner.close();
}
}Conceptos esenciales de Scanner
Cree un Scanner sobre System.in, use next para las palabras y nextLine para las líneas completas, repita el proceso con la familia de métodos hasNext y ciérrelo siempre.
Comprobación rápida
Compruebe sus conocimientos básicos sobre Scanner.
Resumen
Ha aprendido a leer entradas con Scanner:
- Créelo con
new Scanner(System.in) next()lee una palabra ynextLine()lee una línea completa- Repita el proceso con
hasNext()ohasNextLine() - Ciérrelo con
close()o try-with-resources useDelimitercambia el separador de tokens
Preguntas frecuentes
¿La lección «Leer entradas con Scanner» es gratis?
Sí — el texto completo de «Leer entradas con Scanner» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Java Academy, actualiza a CoddyKit PRO. El curso de Java Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Leer entradas con Scanner»?
Lea entradas del usuario desde System.in Practicas Java Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Java Academy?
No se requiere experiencia previa. Java Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Leer entradas con Scanner»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Java Academy?
Sí. Cada lección de Java Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Leer entradas con Scanner
- Leer números y líneas
- Validar entradas del usuario
- Alternativa con BufferedReader