Откуда берется символ с кодом 10?

  1. Кто подскажет, почему когда ввожу "я", то она перескакивает сразу на byte?
  2. И ни как не могу понять почему у int выводится 10

введите сюда описание изображения


Ответы (2 шт):

Автор решения: Vadik

Когда вы вводите букву я в консоль и нажимаете Enter, то в стандартный поток ввода System.in попадает два символа: символ я с кодом 1103 и символ перевода строки с кодом 10.

Чтобы прогинорировать перевод строки, сделайте дополнительный read():

int i = reader.read();
reader.read(); // пропускаем перенос строки

Либо вызовите метод skip(1), чтобы пропустить 1 символ:

int i = reader.read();
reader.skip(1); // пропускаем перенос строки
→ Ссылка
Автор решения: Дмитрий Алексеенко

Используйте вместо метода read() метод readLine() метод вернёт строку и вы с ней будете делать что хочется и не надо будет делать дополнительных манипуляций с самой переменной bufferedReader и пытаться сделать пропуск строки и т.д.

Пример: String i = bufferedReader.readLine();

Если надо сделать из переменной int то можно воспользоваться Integer.parseInt(String);

→ Ссылка