JavaRush/Курсы/Java Syntax/Ввод с клавиатуры

Ввод с клавиатуры

Открыта

Фрагмент лекции JavaRush - университета.


— Амиго, настало твоё время — теперь я расскажу про ввод с клавиатуры.

— Для вывода данных на экран мы использовали System.out. Для ввода данных будем использовать  System.in.

— Звучит не сложно.

— Но у System.in есть минус – он позволяет считать с клавиатуры только коды символов. Чтобы обойти эту проблему и считывать большие порции данных за один раз, мы будем использовать более сложную конструкцию:

Пример 1
Ввод строки и числа с клавиатуры
InputStream inputStream = System.in;
Reader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

String name = bufferedReader.readLine(); //читаем строку с клавиатуры
String sAge = bufferedReader.readLine(); //читаем строку с клавиатуры
int nAge = Integer.parseInt(sAge); //преобразовываем строку в число.
3
Задача
Java Syntax Pro Beta,  3 уровень7 лекция
Недоступна
Ищем максимум
Ищем максимум
Пример 2
Более компактная запись первой части:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

String name = reader.readLine();
String sAge = reader.readLine();
int nAge = Integer.parseInt(sAge);
Пример 3
Еще более компактная
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int age = scanner.nextInt();

— Вопросы?

— Эээ… Ничего не понятно.

— Чтобы считать строку с клавиатуры, удобнее всего воспользоваться объектом BufferedReader. Но для этого в него нужно передать объект, из которого он будет вычитывать данные – System.in.

— Но System.in и BufferedReader не совместимы друг с другом, поэтому мы используем переходник – еще один объект InputStreamReader.

— Вроде ясно. А что еще за класс Scanner?

— Использовать Scanner довольно удобно, но от этого не очень много пользы. Дело в том, что в будущем (и в учебе, и на работе) ты будешь часто использовать объекты BufferedReader и InputStreamReader и очень-очень редко объект типа Scanner. В данной ситуации он удобен, но в будущем толку от него мало. Так что мы пользоваться им не будем.

— Что-то вроде понятно, но не уверен, что все и правильно.

3
Задача
Java Syntax Pro Beta,  3 уровень7 лекция
Недоступна
Через тернии...
Через тернии...
3
Задача
Java Syntax Pro Beta,  3 уровень7 лекция
Недоступна
Высокая точность
Высокая точность
Комментарии (680)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Шамиль
Уровень 8
24 мая 2025, 21:05
Мне не понятна эта запись Reader inputStreamReader = new InputStreamReader(inputStream); получаеться создается объект типа Reader и инициализируеться как объект InputStreamReader
Денис
Уровень 3
4 марта 2025, 17:15
Максимально непонятное обьяснение. Забросил курс наверное на неделю из-за этого. Вернулся, послушал - понятнее не стало. Просто провал какой то.
Sierge
Уровень 25
11 мая 2024, 18:44
Всем привет. Комментарий для новичков без опыта, что бы не отчаивались. Решил написать комментарий именно на этом уроке и именно на этой лекции, так как именно тут я в своё время начал активно не понимать что происходит: видео для новичка слишком сложное, видно что вырезано из контекста. По прошествии уровней я понял, что: 1)нет другого выхода - сначала очень сложные темы закидывают нам, а только потом объясняют их по частям (классы, объекты и т.д.) так как если бы начали с них, то думаю было бы даже тяжелее. 2)ничего страшного, если вы видео вообще не поняли - просто научитесь/подсмотрите/попросите помощи - как выводить на экран информацию. А лекцию просто пропустите. Чуть позже, если вы не забросите курс, вы всё это поймёте. Я не говорю, что с каждым уроком будет проще, нет, даже сложнее, но вы будете более осознанно подходить к материалу. Ещё ни раз вы будете сталкиваться с тем, что будете понимать, что вам дают информацию, которая на голову выше вас, но так как у вас уже будет багаж знаний больше, то вы сможете гуглить информацию более осознанно. Да, есть розовая мечта, что этот курс обучит нас всему и сразу, но поймите - авторы дают и так нормальный объём, а всё уместить не возможно, поэтому гуглите всё что интересно/не понятно - вам это только на пользу пойдёт.
vlafriday
Уровень 1
10 марта 2024, 07:06
10.03.2024 check, мой уровень 3
4 марта 2024, 04:54
Ну так сходу сложно наверное новичкам, но после просмотра видео явно станет легче.
Cat_Virus
Уровень 9
17 декабря 2023, 12:19
Дело ясное, что дело темное:))) Если бы я не знал, что такое scanner, то ничего бы не понял. То есть, по итогу, я ничего не понял, если кто меня понял:)
24 ноября 2023, 13:19
Из-за того, что эту тему объяснили отвратительно тут, дальнейшие задачи было очень тяжело решать и понимать. Это важная тема, а тут даже не объяснили, для чего это нужно. Пока запомнилось так: просто перепишите себе то, что написано в примере 2 и 3. И, когда в задачах дальше будет фраза " введите число с клавиатуры", то используйте эти выражения, а дальше делайте то, что проходили
4 марта 2024, 04:55
Есть такое, но мне кажется в этом и был смысл, главное чтобы вы начали быстрее решать задачи, а уже потом разберетесь получше в каждом элементе.
Imron
Уровень 3
8 октября 2023, 14:56
можно ли все курсы этого сайта закончить без оплаты магии ?
Imron
Уровень 3
8 октября 2023, 14:56
А за каждое прохождение темы они не дают магию ?
Marina
Уровень 2
13 сентября 2023, 15:42
Очень сложно слушать ваши записи, ребята. Почему нельзя было подготовиться и записать структурно и без слов паразитов? Все же вы за это деньги с людей берете. А так ощущение будто вырвали сына маминой подруги и заставили с порога объяснять.