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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  (Consulta) Leer *exactamente* un carácter en Java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (Consulta) Leer *exactamente* un carácter en Java  (Leído 3,899 veces)
class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
(Consulta) Leer *exactamente* un carácter en Java
« en: 3 Noviembre 2017, 16:05 pm »

Hola, muy buenas.

He estado investigando cómo leer un carácter de la consola (saltándose los espacios, leyendo un carácter, y parar), pero no he encontrado nada que sea exáctamente eso. Quiero leer exactamente uno porque estoy leyendo posiciones en un tablero de ajedrez, las cuales se dan con la siguiente sintaxis: <columna><fila>, donde <columna> es una letra que va desde la 'a' hasta la 'h', y <fila> es un número del 1 al 8. Por ejemplo, la posición d5 indica la fila 5, columna 5 (empezando desde 1). La forma más típica que encuentro en internet es la siguiente:

Código
  1. scanner.next(".").charAt(0);

El problema, es que al poner d5, me salta la siguiente excepción:

Citar
Exception in thread "main" java.util.InputMismatchException
   at java.base/java.util.Scanner.throwFor(Scanner.java:860)
   at java.base/java.util.Scanner.next(Scanner.java:1497)
   at java.base/java.util.Scanner.next(Scanner.java:1428)
   at Ejercicio_08.main(Ejercicio_08.java:16)

Lo cual no tiene mucho sentido, porque '.' en la regexp significa un solo carácter.

Espero que puedan ayudarme, gracias


En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: (Consulta) Leer *exactamente* un carácter en Java
« Respuesta #1 en: 3 Noviembre 2017, 16:59 pm »

Si vas a leer de 1 en 1, puedes poner el delimitador a "":
Código
  1. scanner.useDelimiter("");

Y luego lees con:
Código
  1. scanner.next();

De todos modos, te recomendaría utilizar nextLine() y simplemente coger los caracteres que quieras de la línea.


En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: (Consulta) Leer *exactamente* un carácter en Java
« Respuesta #2 en: 3 Noviembre 2017, 17:26 pm »

¿De verdad Java no proporciona ninguna manera de leer un carácter? Puffffffffff
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: (Consulta) Leer *exactamente* un carácter en Java
« Respuesta #3 en: 3 Noviembre 2017, 18:22 pm »

Otra opción es utilizar un BufferedReader en vez de un Scanner y utilizar read(), que lee 1 caracter.
En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: (Consulta) Leer *exactamente* un carácter en Java
« Respuesta #4 en: 3 Noviembre 2017, 19:23 pm »

No funciona con BufferedReader. Se salta el 5 (lee la palabra completa). Ah, creo que es porque BufferedRead tendrá un búfer interno, y estoy mezclando BufferedReader con Scanner. Solamente usaré BufferedReader
« Última modificación: 3 Noviembre 2017, 19:27 pm por class_OpenGL » En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: (Consulta) Leer *exactamente* un carácter en Java
« Respuesta #5 en: 3 Noviembre 2017, 22:12 pm »

creo que es porque BufferedRead tendrá un búfer interno
Es lo suyo xD
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Leer numero seguido de carácter
Programación C/C++
eleon 6 3,704 Último mensaje 29 Septiembre 2012, 15:26 pm
por leosansan
[Ayuda][C] Leer solo un caracter.
Programación C/C++
GROV 6 11,198 Último mensaje 24 Octubre 2012, 03:25 am
por GROV
AYUDA leer carácter a carácter un fichero y guardarlo en una matriz C++
Programación C/C++
slavinyo 0 3,957 Último mensaje 8 Junio 2013, 18:25 pm
por slavinyo
Ayuda - Leer Caracter por Caracter
Scripting
SpesMod 3 5,197 Último mensaje 3 Febrero 2014, 07:03 am
por Eleкtro
[Java] Consulta leer datos de Teclado
Java
Hater7- 2 2,320 Último mensaje 5 Enero 2017, 22:23 pm
por Hater7-
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines