La clase Scanner
La clase Scanner permite crear objetos capaces de leer información desde una
fuente de datos que puede ser un archivo, una cadena de caracteres, el teclado,
etc. Los objetos de esta clase, serán los que utilizaremos para pedir los datos que
se requieran para dar solución a un problema.
Ejemplo:
el siguiente ejemplo ilustra la forma como puede capturarse el dato de una entrada
que es ingresada por el usuario a través del teclado.
Suponga que debe solicitarse al usuario la edad de una persona.
1. Debe crearse una variable (cuando las variables se crean a partir de clases
suelen denominarse objetos) a partir de la clase Scanner.
2. Una vez se ha construido el objeto ya se tiene lo requerido para capturar la
información, las siguientes dos líneas de código solicitan al usuario el ingreso de la
información y captura el valor digitado en una variable de tipo entera cuto
identificador es número:
//La siguiente línea muestra un mensaje por pantalla
Scanner myScanner = new Scanner(System.in);
System.out.print("Digite un número entero");
int número = myScanner.nextInt();
//Creación de un objeto Scanner
Scanner myScanner = new Scanner(System.in);
Finalmente, así como fue posible capturar un dato de tipo int con el servicio
nextInt() también existen otros servicios apropiados dependiendo del tipo de dato
al que corresponda la información que se va a capturar:
Para el tipo byte: nextByte() Para el tipo short nextShort()
Para el tipo float: nextFloat() Para el tipo double: nextDouble()
Para el tipo long: nextLong() Para el tipo String: nextLine() y next()
¿Cuál es la diferencia que existe entre los métodos nextLine() y next()?
package prueba;
import java.util.*;
public class PruebaScanner {
public static void main(String[] args) {
Scanner lector=new Scanner(System.in);
Scanner lectorDos=new Scanner(System.in);
System.out.println("Digite un número:");
int num=lectorDos.nextInt();
System.out.println("El número digitado fue "+num);
System.out.println("Digite una cadena de una palabra");
String otraCad=lectorDos.next();
System.out.println("La cadena de una palabra digitada fue "+otraCad);
System.out.println("Digite una cadena");
String cad=lector.nextLine();
System.out.println("La cadena digitada fue "+cad);
}
}
Caso 2:
package prueba;
import java.util.*;
public class PruebaScanner {
public static void main(String[] args) {
Scanner lector=new Scanner(System.in);
System.out.println("Digite un número:");
int num=lector.nextInt();
System.out.println("El número digitado fue "+num);
System.out.println("Digite una cadena de una palabra");
String otraCad=lector.next();
System.out.println("La cadena de una palabra digitada fue "+otraCad);
System.out.println("Digite una cadena");
String cad=lector.nextLine();
System.out.println("La cadena digitada fue "+cad);
}
}