BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int n = reader.read();
System.out.println("Я буду зарабатывать $" + n + " в час");
Ввожу с клавиатуры 10, а на выходе 49. Использую Scanner и все работает как надо. Почему так?
Аслан Шкахов
29 уровень
Почему выдает результат 49?
Решен
Комментарии (7)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Евгения
1 августа 2018, 14:48
Вместо int n = reader.read();
Например:
String str = reader.readLine();
int n = Integer.parseint(str);
0
Руслан
1 августа 2018, 12:16
int n = reader.read(); проблема в последнем слове
Тебе надо сначала создать String а потом parceint сделать значения
0
--------Master
1 августа 2018, 11:09полезный
Потому, что метод read считывает 1 байт и возвращает значение этого байта - в данном случае код символа '1'
+1
Аслан Шкахов QA Automation Engineer
1 августа 2018, 11:48
И что тогда использовать?
0
--------Master
1 августа 2018, 11:50решение
обычно с BufferedReader используется readLine - чтение строки
+2
Аслан Шкахов QA Automation Engineer
1 августа 2018, 11:54
я изначально и хотел использовать readLine, но тут int, не String
0
Иван Зубов
1 августа 2018, 12:00решение
Воспользуйся Integer.parceint(reader.readLine())
+2