Читать один символ с помощью сканера
Я хочу ввести один символ типа char
в программе на Java. Даже если пользователь вводит более одного символа, он должен занимать только первый. Как я могу это сделать? Возможно ли это с помощью Scanner
учебный класс?
3 ответа
Решение
Есть два способа сделать это:
char c = scanner.nextLine().charAt(0);
Который будет читать первую доступную строку и извлекать первый символ, или
try {
char c = (char) System.in.read();
} catch (IOException e) {
e.printStackTrace();
}
Который будет читать первым byte
в первой доступной строке и приведите его к char
Что случилось с
scanner.next().charAt(0)
Или вот еще одна идея, если вы не хотите next()
вернуть что-нибудь лишнее:
scanner.useDelimiter("")
Сейчас scanner.next()
должен вернуть одну символьную строку, и вы можете использовать .charAt(0)
по мере необходимости.
Чтобы потреблять один символ из Scanner
ты можешь использовать:
char ch = scanner.findInLine(".").charAt(0);