Читать один символ с помощью сканера

Я хочу ввести один символ типа 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);
Другие вопросы по тегам