Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
772 of 1172 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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить