Java tiene un método llamado System.in, la cual
obtiene la información de usuario. Sin embargo, Sytem.in no es tan
simple como System.out. La razón porque no es tan fácil es porque System.in
solo lee la información en bytes. Bytes no nos sirve de mucho ya que los
programas usualmente trabajan con valores de otro tipo (integrales, Strings,
bool, etc). Para solucionar este problema usamos la clase Scanner. La
clase Scanner está diseñado para leer los bytes y convertirlo en valores
primitivos (int, double, bool, etc) o en valores String.
A continuación se detalla el funcionamiento de esta
clase:
Primero tiene que crear un objeto
Scanner y conectarlo con System.in
Scanner
teclado = new Scanner(System.in);Veamos este código por partes. La primera parte:
Scanner teclado
Este código declara una
variable llamado teclado. El tipo de data de esta variable es Scanner.
Ya que Scanner es una clase, la variable teclado es un objeto de la
clase Scanner.
La segunda parte:
=
new Scanner(System.in);
Lo primero que vemos es el símbolo =, lo cual esta
asignando un valor a la variable teclado. El valor es Scanner(System.in)
que en palabras comunes está diciendo que el valor de teclado es lo que System.in
tenga. Osea, cuando un usuario presiona una tecla, la computadora convierte
esta información en bytes. Estos bytes son guardados en el objeto System.in,
y por ultimo son asignados a la variable teclado. Después del símbolo = vemos
la palabra clave new lo cual crea un nuevo objeto en la memoria, el tipo
de objeto que creara es Scanner(System.in), básicamente esta reservando
memoria en la computadora para que se pueda guardar la información de System.in.
A continuación el
siguiente ejemplo para dar más claridad:
int
edad;
Scanner teclado = new Scanner(System.in);
System.out.println(“Que edad tienes”);
edad = teclado.nextInt();
Scanner teclado = new Scanner(System.in);
System.out.println(“Que edad tienes”);
edad = teclado.nextInt();
Veamos paso a paso que es
lo que significa cada línea:
int
edad :
Estamos declarando una variable int llamada edad la cual va a almacenar un número.
Estamos declarando una variable int llamada edad la cual va a almacenar un número.
Scanner
teclado = new Scanner(System.in); :
Estamos declarando una variable Scanner, la cual va almacenar la información que el usuario introduce.
Estamos declarando una variable Scanner, la cual va almacenar la información que el usuario introduce.
System.out.println(“Cual
es tu edad”); :
Estamos usando el método println para preguntar al usuario por su edad.
Estamos usando el método println para preguntar al usuario por su edad.
edad
= teclado.nextInt(); :
Estamos usando la variable teclado para obtener la información del usuario, luego convertimos los bytes en int con el método nextInt, y por ultimo estamos pasando el valor int a la variable edad
Estamos usando la variable teclado para obtener la información del usuario, luego convertimos los bytes en int con el método nextInt, y por ultimo estamos pasando el valor int a la variable edad
Existen varios métodos de la clase Scanner para
convertir bytes en valores que sean más útiles. Siguiente voy a mostrar una
lista de los métodos más comunes de la clase Scanner para convertir
bytes en otros valores.
Metodos:
nextByte
nextDouble
nextFloat
nextInt
nextLine
nextLong
nextDouble
nextFloat
nextInt
nextLine
nextLong
Ahora les mostrare el mismo ejercicio ingresando el dato de la edad por teclado en Pseudocódigo:
Ahora el mismo ejercicio en Java:
Para terminal les dejo el mismo programa realizado en scratch:
Para ver el código del proyecto, pincha aquí:
Espero que este material les sea de gran ayuda, será hasta una próxima.
No hay comentarios:
Publicar un comentario