Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Scanner

Читает ввод по частям: строки целиком (nextLine) или отдельные слова и числа.

Доступно с: Java 5

Синтаксис

public final class Scanner implements Iterator<String>, Closeable

Примеры

Чтение строки с клавиатуры. В консоли (пользователь ввёл Oleg):

void main() {
    var scanner = new Scanner(System.in);
    IO.print("Name: ");
    String name = scanner.nextLine();
    IO.println("Hi, " + name);
}

Результат:

Name: Oleg
Hi, Oleg

Scanner читает не только консоль, но и строку или файл — чтение всех строк до конца:

void main() {
    var scanner = new Scanner("first\nsecond\nthird");
    int n = 1;
    while (scanner.hasNextLine()) {
        IO.println(n++ + ": " + scanner.nextLine());
    }
}

Результат:

1: first
2: second
3: third

Примечания

nextLine() возвращает строку без символа перевода строки. Если строк больше нет, он бросает NoSuchElementException — проверяйте hasNextLine(). Сканер для System.in создают один раз на всю программу и не закрывают: закрытие сканера закрывает и сам System.in.

Для простого ввода строк в Java 25 короче IO.readln().

См. также

  • Scanner.nextInt() — Читает следующее целое число из ввода. Рядом — nextDouble(), next() и hasNextInt().
  • IO.readln() — Выводит подсказку и читает строку, которую ввёл пользователь.
  • BufferedReader — Читает текст построчно с буферизацией — классический способ обработки больших файлов.

Вопросы и ответы по теме

В учебнике

  • Ввод с клавиатуры — Как прочитать ввод пользователя в Java: IO.readln, превращение ввода в число и класс Scanner.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.