0Pricing
Java Academy · Lección

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 y nextLine() lee una línea completa
  • Repita el proceso con hasNext() o hasNextLine()
  • Ciérrelo con close() o try-with-resources
  • useDelimiter cambia 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

  1. Leer entradas con Scanner
  2. Leer números y líneas
  3. Validar entradas del usuario
  4. Alternativa con BufferedReader
← Volver a Java Academy