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

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

Java Syntax
3 уровень , 7 лекция
Открыта

Фрагмент лекции 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, 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, 3 уровень, 7 лекция
Недоступна
Через тернии...
Эта программа написана с использованием тернарного оператора, но не совсем понятно, что она делает. Думаем, если избавиться от тернарного оператора, то станет намного понятнее. Перепиши программу без использования тернарного оператора.
3
Задача
Java Syntax Pro, 3 уровень, 7 лекция
Недоступна
Высокая точность
Напиши программу, которая считывает с клавиатуры два вещественных числа (double) и выдает сообщение о том, равны ли эти числа с точностью до одной миллионной.
Комментарии (680)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Шамиль Уровень 8
24 мая 2025
Мне не понятна эта запись Reader inputStreamReader = new InputStreamReader(inputStream); получаеться создается объект типа Reader и инициализируеться как объект InputStreamReader
Денис Уровень 3
4 марта 2025
Максимально непонятное обьяснение. Забросил курс наверное на неделю из-за этого. Вернулся, послушал - понятнее не стало. Просто провал какой то.
Sierge Уровень 25
11 мая 2024
Всем привет. Комментарий для новичков без опыта, что бы не отчаивались. Решил написать комментарий именно на этом уроке и именно на этой лекции, так как именно тут я в своё время начал активно не понимать что происходит: видео для новичка слишком сложное, видно что вырезано из контекста. По прошествии уровней я понял, что: 1)нет другого выхода - сначала очень сложные темы закидывают нам, а только потом объясняют их по частям (классы, объекты и т.д.) так как если бы начали с них, то думаю было бы даже тяжелее. 2)ничего страшного, если вы видео вообще не поняли - просто научитесь/подсмотрите/попросите помощи - как выводить на экран информацию. А лекцию просто пропустите. Чуть позже, если вы не забросите курс, вы всё это поймёте. Я не говорю, что с каждым уроком будет проще, нет, даже сложнее, но вы будете более осознанно подходить к материалу. Ещё ни раз вы будете сталкиваться с тем, что будете понимать, что вам дают информацию, которая на голову выше вас, но так как у вас уже будет багаж знаний больше, то вы сможете гуглить информацию более осознанно. Да, есть розовая мечта, что этот курс обучит нас всему и сразу, но поймите - авторы дают и так нормальный объём, а всё уместить не возможно, поэтому гуглите всё что интересно/не понятно - вам это только на пользу пойдёт.
vlafriday Уровень 1
10 марта 2024
10.03.2024 check, мой уровень 3
4 марта 2024
Ну так сходу сложно наверное новичкам, но после просмотра видео явно станет легче.
Cat_Virus Уровень 9
17 декабря 2023
Дело ясное, что дело темное:))) Если бы я не знал, что такое scanner, то ничего бы не понял. То есть, по итогу, я ничего не понял, если кто меня понял:)
24 ноября 2023
Из-за того, что эту тему объяснили отвратительно тут, дальнейшие задачи было очень тяжело решать и понимать. Это важная тема, а тут даже не объяснили, для чего это нужно. Пока запомнилось так: просто перепишите себе то, что написано в примере 2 и 3. И, когда в задачах дальше будет фраза " введите число с клавиатуры", то используйте эти выражения, а дальше делайте то, что проходили
4 марта 2024
Есть такое, но мне кажется в этом и был смысл, главное чтобы вы начали быстрее решать задачи, а уже потом разберетесь получше в каждом элементе.
Imron Уровень 3
8 октября 2023
можно ли все курсы этого сайта закончить без оплаты магии ?
Imron Уровень 3
8 октября 2023
А за каждое прохождение темы они не дают магию ?
Marina Уровень 2
13 сентября 2023
Очень сложно слушать ваши записи, ребята. Почему нельзя было подготовиться и записать структурно и без слов паразитов? Все же вы за это деньги с людей берете. А так ощущение будто вырвали сына маминой подруги и заставили с порога объяснять.