Откуда берется символ с кодом 10?
- Кто подскажет, почему когда ввожу "я", то она перескакивает сразу на byte?
- И ни как не могу понять почему у 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);
