jueves, 30 de noviembre de 2017

3.3 Introducir valores por teclado: Scanner. Librerías

Seguro que en el apartado anterior se os pasó por la cabeza: "oye, ¿pero no sería más cómodo introducir el valor que queramos para las variables por teclado?" - y sí, la verdad es que en las ocasiones en las que se necesita que el usuario proporcione algunos datos, obviamente es necesario.
Para ello, existe una clase llamada Scanner, que nos solucionará la vida con esos problemas.

Y sí, digo clase, no me he equivocado, pero como ya dije anteriormente estaremos trabajando simplemente haciéndonos una idea de lo que es hasta que empecemos con la programación orientada a objetos.

Ahora bien, ¿qué es eso del Scanner? Bien
Imaginaos que tenemos un pequeño aparato que, cuando le damos la señal, empieza a registrar todo lo que escribimos por teclado hasta que le digamos que pare.
Scanner hace básicamente eso: registrar lo que escribimos por teclado.

¿Cómo lo llamamos? Sencillo.
El Scanner tiene una manera particular de ser llamado, a la que estaremos acostumbrados cuando comencemos la programación orientada a objetos. Sigue el siguiente formato, y se puede declarar dentro de la función main:

Scanner [nombre] = new Scanner (System.in);

Sin embargo, lo recomendable (se explicará en un futuro el por qué), es declararlo de la siguiente forma, fuera de la función main (¡pero dentro del class!):

final static Scanner [nombre] = new Scanner (System.in);

¡IMPORTANTE!
Si únicamente escribimos eso, nos saltará un error a la hora de compilar, y es por lo siguiente: tenemos la clase, pero no el paquete que incluye la clase. Es como si tuviéramos que hacer un envío que tenemos preparado, pero no sabemos a quién.
A eso en Java se le llama librería. Las librerías son 'paquetes' en el que se incluyen ya muchas herramientas prefabricadas, para que no perdamos tiempo y código en hacerlo. Es lo más parecido a que, para fabricar coches, no tengamos que estar reinventando la rueda una y otra vez.
Las librerías en Java se añaden al principio del programa, fuera del class. Para añadir una librería, debemos de seguir el siguiente formato:

import [nombreDeLaLibreria].[móduloACargar];
import java.util.*; (es la librería que cargaremos para usar el Scanner. El '*' quiere decir que cargaremos todos los módulos).

Ya teniendo el Scanner creado y listo para ser usado, simplemente tenemos que invocarlo para dar valor a una variable. Para ello, hay se sigue una sencilla forma:

[nombreDeLaVariable] = [nombreDelScanner].next[tipoDeLaVariable]();

numero = TECLADO.nextInt(); (ejemplo aplicado a un número entero. Hemos llamado al Scanner 'TECLADO').

double numero = TECLADO.nextDouble(); (igual, pero aplicado a un double que inicializamos y le damos valor al mismo tiempo).

frase = TECLADO.next(); (los String y los char son un caso particular. No se escribe nextString(), sino que se deja únicamente como next())

Sabemos que puede ser un poco confuso al principio, pero aquí tenemos un ejemplo práctico:




Fácil, ¿no? ¿y si pruebas a hacer un programa que te sume un par de números que te pide por teclado? Cuando ya entiendas cómo funciona la clase Scanner, acompáñame, ¡que empiezan los bucles!

0 comentarios:

Publicar un comentario