Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Usar Scanner para leer desde teclado - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Bueno, vamos a ver ahora una librería que es como la navaja suiza de la lectura dentro de Java, que se llama Scanner.
00:00:00
Vamos a crear una clase nueva para trabajar con ella.
00:00:09
La vamos a llamar lectura, por ejemplo, y vamos a decirle que tenga un main ya preparado.
00:00:13
Bien, vamos a trabajar con esta clase de aquí.
00:00:20
Bien, Scanner habitualmente se asocia a un descriptor de entrada.
00:00:25
En este lo habitual es verlo para obtener datos desde el teclado.
00:00:31
Para ello, no tendríamos más que llamar a la clase Scanner, crear un objeto y asociarle la entrada.
00:00:35
En este caso, System.in.
00:00:44
Muy bien.
00:00:48
Como siempre nos dice que esta clase no tiene su librería conectada, pues vamos a conectarlo.
00:00:50
Ahí nos dice que importemos. Hay varios casos, pero está claro que es de Java útil.
00:00:57
de las más importantes, y nos sigue saliendo una cosa amarilla.
00:01:01
Este amarillo, este aviso, nos dice que SC nunca se ha cerrado.
00:01:05
Yo siempre que trabajo con entrada de datos, pongo el ejemplo de cuando abrimos un grifo.
00:01:09
Un grifo lo abrimos y va saliendo agua.
00:01:14
Y hasta que vamos a utilizar ese agua, y hasta que no cerremos el grifo, seguirá saliendo agua.
00:01:17
Por lo cual, cuando aquí abrimos algo que da datos, van a seguir saliendo datos hasta que lo cerremos.
00:01:25
Con lo cual, no se nos puede olvidar cerrarlo. En programas más complejos, incluso no cerrarlos puede darnos diversos problemas.
00:01:29
Bien, una vez que yo he asociado SystemIn, que es la entrada estándar, la del teclado, a Scanner, pues yo ya puedo leer información.
00:01:37
Por ejemplo, voy a crear una variable nombre y voy a leer algo con el método Next.
00:01:48
Voy a hacer un pequeño comentario previo para que nos aparezca un prompt o algo que nos indique que tengamos que teclear algo.
00:01:59
Bien, nombre, lo tecleamos y ahora podemos mostrar esta información con un mensajito, hola, pues, fulanito.
00:02:10
Bien, si hacemos esto, vamos a ver lo que nos ocurre. Ejecuto, y en la parte de abajo vemos la consola, digo un nombre, por ejemplo, Ana, y efectivamente me dice Hola, Ana.
00:02:24
Voy a ejecutarlo otra vez con un nombre compuesto, Ana Isabel, y veo que lo que me devuelve es solo Ana. Es decir, Next va leyendo hasta que encuentra lo que él considera un delimitador.
00:02:40
¿De acuerdo? Bueno, por defecto tiene unos delimitadores escáner ya incluidos, pero esta situación la podemos cambiar.
00:02:59
Ya lo veremos después cuando estemos trabajando con ficheros cómo cambiarla.
00:03:08
Incluso aquí ahora mismo podríamos cambiarla directamente.
00:03:11
Podríamos decir que el delimitador que estamos utilizando siempre fuera el salto de línea, pero no nos interesa.
00:03:14
También podemos ver que podemos teclear montones de informaciones.
00:03:22
S, C, punto
00:03:25
y vemos que podemos
00:03:28
si ponemos next
00:03:31
tenemos miles de opciones de campos
00:03:33
que podemos leer, ¿de acuerdo?
00:03:34
Teros, largos,
00:03:37
cortos, etcétera, etcétera
00:03:39
pero siempre con mucho cuidado
00:03:40
entonces
00:03:42
por ejemplo, yo podría preguntar
00:03:44
preguntar el nombre
00:03:46
y ahora voy a preguntar
00:03:49
la edad, voy a poner aquí
00:03:50
int edad, voy a poner
00:03:52
que me pida un entero. Voy a poner un mensajito que me muestre el prompt y vamos a mostrar
00:03:56
también la edad. No sé cuántos años. Muy bien. Pues vamos a ver cómo ejecutaríamos
00:04:13
esto. Ya sabemos que nos fallaría si ponemos un nombre compuesto, con lo cual vamos a probarlo
00:04:28
con un nombre simple. Ana tiene 23 años. Perfecto. ¿Qué ocurriría si lo pruebo con
00:04:33
Ana Isabel? Pues me diría Ana Isabel y directamente se me rompería el programa. Vamos a ver la
00:04:42
salida completa porque le interpretaría Isabel como el siguiente campo que va a leer y claro
00:04:52
no coincide con un número entero, ¿de acuerdo? Incluso la excepción que nos brinda es input
00:04:58
mismatch excepción, o sea, excepción de que no coincide el oratorio de entrada, ¿de
00:05:05
acuerdo? Así que tenemos que solucionar alguna cuestión previa. Pues, por ejemplo, podemos
00:05:10
decir que no quiero leer solamente el primer ítem que me teclea, sino quiero leer toda
00:05:15
la línea. Next line. Vamos a ver ahora si el ejemplo anterior funcionará. Nombre, Ana Isabel. Ahora ya si me lee bien Isabel y ahora casi seguro que no voy a tener problemas en la edad.
00:05:20
¿De acuerdo? Una herramienta muy potente de la cual vamos a empezar a aplicar dentro de poco en ficheros y vemos cómo vamos cambiando toda esta información.
00:05:39
- Idioma/s:
- Autor/es:
- Amadeo Mora
- Subido por:
- Amadeo M.
- Licencia:
- Dominio público
- Visualizaciones:
- 240
- Fecha:
- 28 de febrero de 2021 - 16:50
- Visibilidad:
- Público
- Centro:
- IES CLARA DEL REY
- Duración:
- 05′ 50″
- Relación de aspecto:
- 16:9 Es el estándar usado por la televisión de alta definición y en varias pantallas, es ancho y normalmente se le suele llamar panorámico o widescreen, aunque todas las relaciones (a excepción de la 1:1) son widescreen. El ángulo de la diagonal es de 29,36°.
- Resolución:
- 908x512 píxeles
- Tamaño:
- 11.95 MBytes