elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Analizar tipo de datos de entrada
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Analizar tipo de datos de entrada  (Leído 2,303 veces)
ElRodrik

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Analizar tipo de datos de entrada
« en: 10 Diciembre 2018, 22:57 pm »

Holaa, querría saber si hay alguna forma de detectar el tipo de datos que introduce un usuario en un Scanner, para pedir que vuelva a escribirlos en caso que haya introducido letras en una variable int y así no pete el programa.


En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.391


Ver Perfil
Re: Analizar tipo de datos de entrada
« Respuesta #1 en: 10 Diciembre 2018, 23:34 pm »

Desde el teclado (por ejemplo), se pulsan teclas. Las teclas tienen un código, que en definitiva son un BYTE... Tu no puedes delimitar lo que el usuario digite, porque no hay ninguna funcionalidad que 'desactivara' (por ejemplo) las teclas del teclado, para solo estár activas las que a tu programa le intrese.

Puedes crear tus propias funciones o usar las que existen.
Como son las funciones 'HashNext... Que en definitiva avisa si el siguiente token es del (puede resolverse en el) tipo deseado...
...o incluso hacer uso de funciones más primitivas como son: Parse... (Integer.parseInt) y TryParse...,  convierten a... ó intentan convertir a...
los toquens que el usuario introdujo.

Así, por ejemplo, en vez de tomar un valor que no pudiera ser interpretado como un integer (sin un tratamiento más explícito), sería preguntarlo:

Código:
Scaner s = nuevo Scaner(in)
Si s.hashNextInt entonces
    int i= s.nextInt
Sino
   mensaje 'esperamos un valor numérico para...'
fin si


Te aconsejo ir al sitio de Sun, y ojees con cierta profundidad el objeto Scanner...
https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html


« Última modificación: 10 Diciembre 2018, 23:43 pm por NEBIRE » En línea

ElRodrik

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: Analizar tipo de datos de entrada
« Respuesta #2 en: 11 Diciembre 2018, 09:45 am »

Muchas gracias, era justo lo que necesitaba :)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines