Ввод данных (Scanner)

Тренажер по Java для пользователей с начальным уровнем подготовки.

Тренажер по Java

Для создания интерактивных программ необходимо уметь считывать данные от пользователя. В Java для этого чаще всего используется класс Scanner из пакета java.util.

Чтобы начать использование сканера, нужно передать ему входной поток System.in. Основные методы для чтения: next() (читает слово), nextLine() (читает всю строку) и nextInt() (читает целое число). В этом уроке вы пройдете тесты и выполните задания на корректный ввод данных. Вы увидите примеры обработки пользовательского ввода и поймете, как избежать типичных ошибок.

Список тем

1. Методы чтения

id: 40526_scanner_01_select

В этом задании вам предстоит дополнить код, использующий класс Scanner для ввода данных с консоли. В коде пропущены названия методов, которые считывают целое число и строку. Выберите из предложенного списка подходящие методы для каждого пропуска, чтобы программа корректно работала. Обратите внимание на типы переменных, в которые сохраняются считанные значения.

Нужно правильно расставить в пропуски предложенные варианты
Scanner scanner = new Scanner(System.in);
int age = scanner.input1S();
String name = scanner.input2S();
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

2. Подключение сканера

id: 40526_scanner_02_build

Из предложенных строк соберите корректную 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 сек.
Показать подсказку

3. Поток ввода

id: 40526_scanner_03_replace

Для получения данных от пользователя через консоль в Java используется класс Scanner. Чтобы создать объект этого класса, готовый к чтению с клавиатуры, необходимо передать в его конструктор стандартный поток ввода. Этот поток доступен через статическое поле класса System. Заполните пропуск в коде, чтобы инициализировать сканер корректно.

Заполните пропуски
import java.util.Scanner;

// Создаем объект Scanner для чтения данных из консоли
Scanner sc = new Scanner(input1S);
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

4. Типы и методы

id: 40526_scanner_04_compare

В левой колонке перечислены типы данных, которые часто требуется вводить с помощью класса Scanner в Java. В правой колонке приведены методы класса Scanner, предназначенные для чтения данных определённого типа. Сопоставьте каждый тип данных с соответствующим методом Scanner. Обратите внимание, что в правой колонке нет лишних вариантов, но порядок методов перемешан.

Сопоставьте строки в правой(нижней) части с соответствующими строками в левой(верхней) по порядковому номеру
Целое число (int)
Число с плавающей точкой (double)
Одно слово (String до пробела)
Целая строка (String, включая пробелы)
nextInt()
next()
nextLine()
nextDouble()
Сообщения
Проверить
Показать подсказку

5. Забытый импорт

id: 40526_scanner_05_error

В представленном фрагменте кода на 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);
    }
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

6. Переменные ввода

id: 40526_scanner_06_click

Внимательно изучите приведённый фрагмент кода на 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

id: 40526_scanner_07_predict

Проанализируйте фрагмент кода на 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();
    }
}
Сообщения
Проверить
Показать подсказку
НайтиКурс.Ру