Título: (Consulta) Leer *exactamente* un carácter en Java Publicado por: class_OpenGL 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
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 Título: Re: (Consulta) Leer *exactamente* un carácter en Java Publicado por: ivancea96 en 3 Noviembre 2017, 16:59 pm Si vas a leer de 1 en 1, puedes poner el delimitador a "":
Código
Y luego lees con: Código
De todos modos, te recomendaría utilizar nextLine() y simplemente coger los caracteres que quieras de la línea. Título: Re: (Consulta) Leer *exactamente* un carácter en Java Publicado por: class_OpenGL en 3 Noviembre 2017, 17:26 pm ¿De verdad Java no proporciona ninguna manera de leer un carácter? Puffffffffff
Título: Re: (Consulta) Leer *exactamente* un carácter en Java Publicado por: ivancea96 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.
Título: Re: (Consulta) Leer *exactamente* un carácter en Java Publicado por: class_OpenGL 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
Título: Re: (Consulta) Leer *exactamente* un carácter en Java Publicado por: ivancea96 en 3 Noviembre 2017, 22:12 pm creo que es porque BufferedRead tendrá un búfer interno Es lo suyo xD |