Ejemplos con Scanner: Java

Ahora probaremos distintas opciones de lectura de datos. Trata de modificar las variables, los valores que vas introduciendo, etc., para que te vayas haciendo con el funcionamiento de Scanner.

Puedes copiar este código y pegarlo en un archivo que se llame m_EjemplosScanner.java dentro del paquete A_Inicio para comprobar su funcionamiento.

/* Aprendiendo a programar en DAM con elProfesorEmilio */
package A_Inicio;

import java.util.Scanner;

/**
 * @author elProfesorEmilio
 * Algunos ejemplos de lectura de datos
 */
public class m_EjemplosScanner {

    public static void main(String[] args) {
        Scanner leer = new Scanner(System.in);
        
        // Leer un número
        int numero;
        System.out.println("Introduzca un número: ");
        // Si intruducimos por teclado: 
        //      para que no falle: dos números seguidos, por ejemplo '3 34'
        //      para comprobar error: '12 adsfasd f'
        numero = leer.nextInt(); 
        // Escribe sólo 12
        System.out.println("Número introducido: " + numero); 
       
        System.out.println("Introduzca otro número: ");
        // Ahora no te permitirá escribir y tratará de leer el siguiente int
        // Si has escrito por teclado la segunda opción que te sugerí intentará
        // asignar a la variable 'número' adsfads y no podrá --> excepción
        numero = leer.nextInt();
        System.out.println("Número introducido: " + numero); 
        
        // Con next somos capaces de leer el siguiente token en el buffer
        // sea lo que sea lo convertirá a String
        System.out.println("Escriba su primer nombre: ");
        String cadena;
        cadena = leer.next();
        System.out.println(cadena);
        // Ten en cuenta que ahora mismo el buffer tiene, como mínimo, un
        // enter así que si no quieres tenerlo en cuenta hay que limpiarlo
        
        // Para leer una línea completa
        System.out.println("Escriba su nombre completo: ");
        leer.nextLine(); // Limpiar el buffer 
        cadena = leer.nextLine();
        System.out.println(cadena);
    }
    
}