⌨️ Entrada de Datos en Java con Scanner | Aprende a Leer Datos desde el Teclado

⌨️ Entrada de Datos en Java con Scanner

Hasta este momento hemos trabajado con variables, tipos de datos y operadores. Sin embargo, todos los valores que utilizábamos estaban escritos directamente en el código.

En aplicaciones reales, los datos normalmente son proporcionados por el usuario. Por ejemplo, cuando alguien inicia sesión, realiza una compra o llena un formulario de registro.

En este video aprenderás a utilizar la clase Scanner para capturar información desde el teclado, leer diferentes tipos de datos y evitar uno de los errores más comunes al trabajar con entrada de datos en Java.

📚 En este video aprenderás:
  • ¿Qué es Scanner y para qué sirve?
  • Cómo importar la clase Scanner
  • Cómo crear un objeto Scanner
  • Leer texto con nextLine()
  • Leer números enteros con nextInt()
  • Leer números decimales con nextDouble()
  • Mostrar información capturada por el usuario
  • Cómo solucionar el error más común al mezclar nextInt() y nextLine()

🎥 Video completo

👉 Mira el video antes de continuar para seguir cada ejemplo paso a paso.

🤔 ¿Qué es Scanner?

Scanner es una clase que forma parte de la biblioteca estándar de Java y nos permite leer información desde diferentes fuentes, como archivos o la consola.

En este curso utilizaremos Scanner para capturar información que el usuario escriba desde el teclado.

Importación de Scanner:

import java.util.Scanner;

Una vez importada la clase, podremos crear un objeto Scanner para comenzar a leer datos.


🛠️ Crear un objeto Scanner

Para utilizar Scanner debemos crear una instancia de la clase y asociarla a la entrada estándar del programa utilizando System.in.

Scanner scanner = new Scanner(System.in);

System.in representa la entrada estándar, es decir, la información que el usuario escribe desde el teclado.


📝 Leer texto con nextLine()

El método nextLine() permite leer una línea completa de texto.

Scanner scanner = new Scanner(System.in);

System.out.print("¿Cómo te llamas? ");

String nombre = scanner.nextLine();

System.out.println("Hola " + nombre);

Si el usuario escribe Santiago, el programa mostrará:

Hola Santiago

🔢 Leer números enteros con nextInt()

Para capturar números enteros utilizamos el método nextInt().

System.out.print("¿Cuántos años tienes? ");

int edad = scanner.nextInt();

System.out.println("Tu edad es: " + edad);

El valor ingresado será almacenado en una variable de tipo int.


💰 Leer números decimales con nextDouble()

Cuando necesitamos capturar números con decimales podemos utilizar nextDouble().

System.out.print("Ingresa tu salario: ");

double salario = scanner.nextDouble();

System.out.println("Salario: " + salario);

Scanner cuenta con otros métodos similares para distintos tipos de datos, pero estos son los más utilizados cuando estamos comenzando.


📋 Ejemplo práctico

A continuación, un ejemplo donde solicitamos nombre y edad al usuario para posteriormente mostrar un resumen:

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        System.out.print("Nombre: ");
        String nombre = scanner.nextLine();

        System.out.print("Edad: ");
        int edad = scanner.nextInt();

        System.out.println("Hola " + nombre);
        System.out.println("Tienes " + edad + " años");

        scanner.close();
    }
}

⚠️ Error común al mezclar nextInt() y nextLine()

Uno de los errores más frecuentes entre principiantes ocurre cuando se utiliza nextInt() y posteriormente nextLine().

Por ejemplo:

System.out.print("Edad: ");
int edad = scanner.nextInt();

System.out.print("Nombre: ");
String nombre = scanner.nextLine();

Al ejecutar el programa, muchas veces Java no permite escribir el nombre y parece saltarse esa línea.

Esto ocurre porque nextInt() consume únicamente el número ingresado, pero deja pendiente el salto de línea generado al presionar Enter.

Cuando nextLine() se ejecuta, encuentra inmediatamente ese salto de línea pendiente y lo interpreta como una línea vacía.

Solución:

System.out.print("Edad: ");
int edad = scanner.nextInt();

scanner.nextLine();

System.out.print("Nombre: ");
String nombre = scanner.nextLine();

Ese nextLine() adicional consume el salto de línea pendiente y permite que el usuario escriba correctamente el texto solicitado.


🧠 Recuerda:

  • Scanner permite capturar información desde el teclado.
  • Debes importar la clase utilizando import java.util.Scanner;.
  • nextLine() se utiliza para leer texto completo.
  • nextInt() permite leer números enteros.
  • nextDouble() permite leer números decimales.
  • Ten cuidado al combinar nextInt() y nextLine().

📌 Conclusión:

La entrada de datos es uno de los conceptos más importantes en programación. Gracias a Scanner podemos crear aplicaciones que interactúan con los usuarios y reciben información en tiempo real.

Dominar esta herramienta te permitirá construir programas más útiles y será la base para los siguientes temas del curso, donde comenzaremos a trabajar con estructuras de control y lógica más avanzada.


إرسال تعليق

Post a Comment (0)

أحدث أقدم