Для создания интерактивных программ необходимо уметь считывать данные от пользователя. В Java для этого чаще всего используется класс Scanner из пакета java.util.
Чтобы начать использование сканера, нужно передать ему входной поток System.in. Основные методы для чтения: next() (читает слово), nextLine() (читает всю строку) и nextInt() (читает целое число). В этом уроке вы пройдете тесты и выполните задания на корректный ввод данных. Вы увидите примеры обработки пользовательского ввода и поймете, как избежать типичных ошибок.
- Модуль 1: Первая программа и структура
- Модуль 2: Переменные и типы данных
- Объявление и инициализация переменных.
- Примитивы: целые числа (int, long, byte, short).
- Примитивы: дробные числа (double, float).
- Примитивы: логический тип (boolean).
- Примитивы: символьный тип (char).
- String — основы работы со строками.
- Приведение типов (Casting): расширение и сужение.
- Область видимости переменных (Scope).
- Модуль 3: Операторы
- Модуль 4: Управляющие конструкции
- Модуль 5: Массивы и Строки (Advanced)
- Создание и заполнение массива.
- Доступ к элементам по индексу.
- Свойство length и перебор массива.
- Цикл for-each для массивов.
- Многомерные массивы.
- Методы String: length, charAt, isEmpty.
- Манипуляции: substring, concat, replace.
- Сравнение строк: equals vs ==.
- Разделение строк (split) и trim.
- StringBuilder (изменяемые строки).
- Модуль 6: Методы
- Модуль 7: Классы и Объекты (ООП Часть 1)
- Модуль 8: Капсуляция и Модификаторы
- Модуль 9: Наследование и Полиморфизм (ООП Часть 2)
- Модуль 10: Обработка исключений
- Модуль 11: Коллекции и Дженерики
- Модуль 12: Функциональный стиль (Java 8+)
- Модуль 13: Полезные стандарты
1. Методы чтения
В этом задании вам предстоит дополнить код, использующий класс Scanner для ввода данных с консоли. В коде пропущены названия методов, которые считывают целое число и строку. Выберите из предложенного списка подходящие методы для каждого пропуска, чтобы программа корректно работала. Обратите внимание на типы переменных, в которые сохраняются считанные значения.
Scanner scanner = new Scanner(System.in);
int age = scanner.input1S();
String name = scanner.input2S();2. Подключение сканера
Из предложенных строк соберите корректную Java-программу, которая подключает сканер для чтения данных с консоли, создаёт объект Scanner, считывает одну строку и закрывает сканер. Программа не должна выводить данные на экран. Лишние строки в решение включать не нужно.
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String input = scanner.nextLine(); scanner.close(); System.out.println(input); }}3. Поток ввода
Для получения данных от пользователя через консоль в Java используется класс Scanner. Чтобы создать объект этого класса, готовый к чтению с клавиатуры, необходимо передать в его конструктор стандартный поток ввода. Этот поток доступен через статическое поле класса System. Заполните пропуск в коде, чтобы инициализировать сканер корректно.
import java.util.Scanner;
// Создаем объект Scanner для чтения данных из консоли
Scanner sc = new Scanner(input1S);4. Типы и методы
В левой колонке перечислены типы данных, которые часто требуется вводить с помощью класса Scanner в Java. В правой колонке приведены методы класса Scanner, предназначенные для чтения данных определённого типа. Сопоставьте каждый тип данных с соответствующим методом Scanner. Обратите внимание, что в правой колонке нет лишних вариантов, но порядок методов перемешан.
nextInt()next()nextLine()nextDouble()5. Забытый импорт
В представленном фрагменте кода на Java используется класс Scanner для ввода данных, однако допущена ошибка, из-за которой программа не сможет скомпилироваться. Найдите и исправьте строку с ошибкой, чтобы код стал рабочим и мог корректно считывать ввод пользователя.
jmport java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String name = scanner.nextLine(); System.out.println("Hello, " + name); }}6. Переменные ввода
Внимательно изучите приведённый фрагмент кода на Java. В этом коде создаётся объект Scanner для чтения данных, введённых пользователем с консоли. Ваша задача — отметить (кликнуть) все переменные, в которые сохраняются введённые пользователем данные. Обратите внимание, что не все переменные в коде получают значения от Scanner. Не отмечайте переменные, которые инициализируются литералами или вычислениями, а также не отмечайте сам объект Scanner.
Scanner scanner = new Scanner(System.in);
int {{age~|~t1}} = scanner.nextInt();
String {{name~|~t2}} = scanner.nextLine();
double {{salary~|~t3}} = scanner.nextDouble();
int {{year~|~t4}} = 2024;
String {{greeting~|~t5}} = "Hello";
System.out.println("Name: " + name + ", Age: " + age + ", Salary: " + salary);7. Поведение nextInt
Проанализируйте фрагмент кода на Java, использующий класс Scanner для ввода целого числа. Представьте, что пользователь вводит строку 'Hello' вместо ожидаемого числа. Выберите вариант, который наиболее точно описывает поведение программы в этой ситуации.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Введите целое число: ");
int number = scanner.nextInt();
System.out.println("Вы ввели: " + number);
scanner.close();
}
}