РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
763 of 1163 menu

Метод hasNextInt

Метод hasNextInt класса Scanner проверяет, можно ли прочитать следующий токен из входного потока как целое число типа int. Метод возвращает true, если следующий токен является целым числом, и false в противном случае. Метод не читает и не извлекает токен из потока - он только проверяет его. Без параметров метод использует текущий разделитель (по умолчанию - пробельные символы). В качестве необязательного параметра можно передать систему счисления (основание), в которой будет проверяться число.

Синтаксис

scanner.hasNextInt() scanner.hasNextInt(radix)

Пример

Давайте проверим, содержит ли ввод целое число, перед его чтением:

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner("12345"); if (scanner.hasNextInt()) { int num = scanner.nextInt(); System.out.println(num); } scanner.close(); } }

Результат выполнения кода:

12345

Пример

Давайте проверим ввод, который не является целым числом:

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner("abcde"); if (scanner.hasNextInt()) { System.out.println("This is an integer"); } else { System.out.println("This is not an integer"); } scanner.close(); } }

Результат выполнения кода:

"This is not an integer"

Пример

Давайте проверим несколько токенов в цикле и выведем только те, которые являются целыми числами:

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner("123 abc 456 def 789"); while (scanner.hasNext()) { if (scanner.hasNextInt()) { System.out.println(scanner.nextInt()); } else { scanner.next(); } } scanner.close(); } }

Результат выполнения кода:

123 456 789

Пример

Давайте проверим число в шестнадцатеричной системе счисления, передав основание 16:

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner("1A2F"); if (scanner.hasNextInt(16)) { int num = scanner.nextInt(16); System.out.println(num); } scanner.close(); } }

Результат выполнения кода:

6703

Смотрите также

  • класс Scanner,
    который читает данные из входного потока
  • метод nextInt,
    который читает целое число
  • метод hasNext,
    который проверяет наличие следующего токена
  • метод hasNextLine,
    который проверяет наличие следующей строки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить