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
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)
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