Encodera

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

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

Справочник Java

Scanner.nextInt()

Читает следующее целое число из ввода. Рядом — nextDouble(), next() и hasNextInt().

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

Синтаксис

public int nextInt()

Возвращаемое значение

intПрочитанное число int.

Примеры

Числа через пробелы и переводы строк (здесь ввод задан строкой, с клавиатурой работает так же):

void main() {
    var scanner = new Scanner("3 4\n5");
    int sum = 0;
    while (scanner.hasNextInt()) {
        sum += scanner.nextInt();
    }
    IO.println(sum);
}

Результат:

12

Ловушка: после nextInt() в строке остаётся перевод строки, и nextLine() вернёт пустую строку:

void main() {
    var scanner = new Scanner("30\nAnna\n");
    int age = scanner.nextInt();
    String name = scanner.nextLine();
    IO.println("[" + name + "]");
    name = scanner.nextLine();
    IO.println("[" + name + "]");
}

Результат:

[]
[Anna]

Примечания

Если следующий токен не число, nextInt() бросит InputMismatchException; заранее проверить можно через hasNextInt(). Чтобы избежать ловушки с переводом строки, после nextInt() вызовите лишний nextLine() или читайте всё через nextLine() и разбирайте Integer.parseInt().

nextDouble() зависит от языка системы: в русской локали он ждёт 3,5, а не 3.5. Явно задать формат можно так: scanner.useLocale(Locale.ROOT).

См. также

  • Scanner — Читает ввод по частям: строки целиком (nextLine) или отдельные слова и числа.
  • Integer.parseInt() — Превращает строку с целым числом в int.
  • IO.readln() — Выводит подсказку и читает строку, которую ввёл пользователь.

В учебнике

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

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

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