Existem duas abordagens: você pode usar exatamente um caractere ou estritamente um caractere. Quando você usa exatamente, o leitor terá apenas o primeiro caractere, independentemente de quantos caracteres você inserir.
Por exemplo:
import java.util.Scanner;
public class ReaderExample {
public static void main(String[] args) {
try {
Scanner reader = new Scanner(System.in);
char c = reader.findInLine(".").charAt(0);
reader.close();
System.out.print(c);
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
Quando você fornecer um conjunto de caracteres como entrada, diga "abcd", o leitor considerará apenas o primeiro caractere, ou seja, a letra 'a'
Mas quando você usa estritamente, a entrada deve ser apenas um caractere. Se a entrada tiver mais de um caractere, o leitor não aceitará a entrada.
import java.util.Scanner;
public class ReaderExample {
public static void main(String[] args) {
try {
Scanner reader = new Scanner(System.in);
char c = reader.next(".").charAt(0);
reader.close();
System.out.print(c);
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
Suponha que você dê a entrada "abcd", nenhuma entrada seja feita e a variável c terá valor nulo.