Entrada de datos en Java
Clase Scanner en Java
Para interactuar con nuestro sistema por el interfas de la terminal, vamos trabajar de con la clase Scanner de Java, esta clase ya esta definida solo tendremos que importar la clase y luego utilizarla. la clase Scanner es del paquete java.util.
Importar la clase Scanner
Con la clase Scanner podremos ingresar datos desde teclado, por el momento por la terminal, para esto tenemos que importar la clase de la siguiente forma, import java.util.Scanner; esto deves hacer por insima de la clase del archivo.
import java.util.Scanner; //Importar la clase Scanner public class Main { }
Instanciar o Crear objeto
Ahora que ya la tenemos importada vamos a crear un objeto, o tambien llamada instanciación, mediante este objeto o esta instancia accederemos a sus métodos de clase Scanner. Este objeto o instancia puede crear dentro de método main
o dentro de una clase u otro método.
import java.util.Scanner; public class Main { public static void main(String[] args) { //Instaciar la clase Scanner o // crear el objeto leer Scanner leer = new Scanner(System.in); } }
- leer: Este es la instancia u objeto el cual puede ser cualquier nombre que tu quieras poner, mediante este objeto accederemos a sus métodos.
- System.in : Este es el flujo de entrada estandar,
System.in
es un objeto que es por defecto que le pasamos a la clase Scanner para entrada de datos. Tambien pudes pasarFile
para los ficheros.
Métodos de la clase Scanner
Mediante los metos de la clase Scanner ingresaremos datos de diferentes tipos, para cada dato a un método.
- nextLine() o next(): El métodos
nextLine()
o next() es para ingresar datos de tipoString
o sea cadena de caracteres. - nexByte(): El métodos
nextByte()
es para ingresar números enteros pequeñosbyte
. - nextShort(): El métodos
nextShort(
) es para ingresar números enteros medianosshort
. - nextInt(): El método
nextInt()
es para ingresar números enteros grandesint
. - nextLong(): El método
nextLong()
es para ingresar números muy grandeslong
. - nextDouble() y nextFloat(): Es para ingresar números decimales
double y float
. - next().charAt(0): Es para tipo de dato
char
, este método solo leerá un carácter, si su valor es 0 entonces solo el primer carácter guarda, eso quiere decir que almacena de acuerdo a su valor. - nextBoolean(): Es para ingresar valores booleanos como
true y false
.
import java.util.Scanner; public class Main { public static void main(String[] args) { //Instaciar la clase Scanner o // crear el objeto leer Scanner leer = new Scanner(System.in); System.out.println("Ingrese su nombre: "); String nombre = leer.nextLine(); System.out.println("Ingrese su Edad: "); int edad = leer.nextInt(); System.out.println("Ingrese un caracter: "); char c = leer.next().charAt(0); System.out.println("Nombre: "+ nombre); System.out.println("Edad: "+ edad); System.out.println("Valor de Cahar: "+ c); } }