La clase Scanner en Java nos brinda una serie de métodos con los cuales podemos recibir información desde el Teclado al momento de programar aplicaciones en Java, a continuación veremos un ejemplo de su funcionamiento.
Considerando que tenemos una Clase Principal llamada Entrada1 junto con su respectivo método principal los cuales se ven así:
public class Entrada1 {
public static void main(String[]args){
}
}
Podemos empezar a desarrollar el ejemplo lo cual quedaría de la siguiente forma :
import java.util.Scanner;
public class Entrada1 {
public static void main(String[]args){
Scanner dato1=new Scanner(System.in);
Scanner dato2=new Scanner(System.in);
}
}
Es muy importante ocupar la librería java.util.Scanner para que los objetos dato1 y dato2 funcionen correctamente.
Dentro de dato1 vamos a recibir un nombre el cual se mostrará en pantalla
import java.util.Scanner;
public class Entrada1 {
public static void main(String[]args){
Scanner dato1=new Scanner(System.in);
String nombre="";
System.out.println("Escribe tu nombre");
if(dato1.hasNextLine()){
nombre=dato1.nextLine();
System.out.println("Hola "+nombre);
}
Scanner dato2=new Scanner(System.in);
}
}
Como te habrás dado cuenta, el método dato1.hasNextLine() nos ayuda a identificar si se ha escrito un valor de tipo String en el teclado y en caso de ser verdadero, con el método dato1.nextLine() obtenemos la linea que esté escrita y se asigna a la variable nombre para después mostrarla en pantalla.
Por otro lado con dato2 vamos a recibir un valor de tipo Int y con el método dato2.hasNextInt() verificamos si se ha escrito ese valor de tipo Int, en caso de ser verdadero, con el método dato1.nextInt() obtenemos la linea que esté escrita y se asigna a la variable edad para después mostrarla en pantalla y en caso contrario muestra un mensaje de error.
El ejemplo final queda de la siguiente manera:
import java.util.Scanner;
public class Entrada1 {
public static void main(String[]args){
Scanner dato1=new Scanner(System.in);
String nombre="";
System.out.println("Escribe tu nombre");
if(dato1.hasNextLine()){
nombre=dato1.nextLine();
System.out.println("Hola "+nombre);
}
Scanner dato2=new Scanner(System.in);
int edad=0;
System.out.println("Escribe tu edad");
if(dato2.hasNextInt()){
edad=dato2.nextInt();
System.out.println("Tu edad es "+edad);
}else{
System.out.println("No es una edad válida");
}
}
}
Puedes encontrar la explicación en video aqui:
Si tienes mas dudas acerca de la Clase Scanner en Java, puedes buscar directamente en la documentación de Oracle:
https://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html
Gracias.