Государственный


nextBoolean() - метод, считывающий булевское значение из ИницОбъект; nextByte



бет9/25
Дата05.04.2024
өлшемі4.07 Mb.
#497748
1   ...   5   6   7   8   9   10   11   12   ...   25
Java. Потоки ввода-вывода. Работа с файлами. Кравчук А.С., Кравчук А.И., Кремень Е.В

nextBoolean() - метод, считывающий булевское значение из ИницОбъект;

  • nextByte() - метод, считывающий значение типа byte из

    ИницОбъект;

    • nextDouble() - метод, считывающий значение типа double

    из ИницОбъект;

    ИницОбъект;

    • nextInt() - метод, считывающий значение типа int из

    ИницОбъект;

    • nextLong() - метод, считывающий значение типа long из

    ИницОбъект;

    • nextShort() - метод, считывающий значение типа short из

    ИницОбъект.
    Следующей группой методов является служебные методы для анализа следующего токена, возвращающие true, если следующий токен во входных данных сканера может быть интерпретирован как значение определенного типа:

    • hasNextLine() - метод, который возвращает значение true или false, определяя является ли порция данных, которую возвратил метод nextLine() строкой;

    • hasNextInt() - метод проверяет, является ли следующая порция введенных данных целым числом, или нет (возвращает, соответственно, true или false);

    • hasNextByte(), hasNextShort(), hasNextLong(), hasNextFloat(), hasNextDouble() - все эти методы делают то же для остальных типов данных.

    Использование методов типа hasNexType() перед вызовом методов типа nextType() позволяют избежать возникновения исключительных ситуаций и часто используется, поскольку обработка исключительных ситуаций достаточно затратна в плане ресурсов.
    Сканер по умолчанию интерпретирует числа как десятичные, но с помощью метода useRadix(int) можно установить другое основание системы счисления для вводимых числовых данных. Метод reset() устанавливает основание системы счисления сканера «по умолчанию» равное 10.
    Приведем менее привычный пример использования конструктора
    Scaner-а.
    Пример.

    Результат работы программы:


    В этом же примере есть еще один метод, на который нужно обязательно обратить внимание - close(). Как и любой объект, работающий с потоками ввода-вывода, сканер должен быть закрыт по завершении своей работы, чтобы больше не потреблять ресурсы компьютера.




    Замечание.
    При закрытии объекта сканера, если его базовый читаемый объект реализует интерфейс Closeable, также вызывается метод close() и для него.

    Далее для проверки наличия произвольной лексемы (значимого набора символов) объект Scanner-а использует метод boolean hasNext(). Произвольная лексема считывается методом


    String next(). После извлечения любой лексемы текущий указатель устанавливается перед следующей лексемой.
    Проверка конкретного типа производится с помощью одного из методов группы boolean hasNextТип() или boolean hasNextТип (int radix), где radix - основание системы счисления.
    Объект класса Scanner определяет границы лексемы, основываясь на наборе разделителей. Можно задавать разделители с помощью метода useDelimiter(Pattern pattern) или useDelimiter(String regex), где pattern и regex содержит набор разделителей в виде регулярного выражения.


    Пример.

    Результат работы программы:




    В методе useDelimiter() указано, что разделителем является знак ';' и регулярное выражение \\s* указывающее, что после точки с запятой может быть произвольное (от нуля и больше) число пробелов.
    Можно вместо строки «;\\s*», указать строку «\\s*;\\s*». Это будет означать, что произвольное число пробелов может быть до и после символа-разделителя ';'.
    Замечание.
    Работа с регулярными выражениями не входит в данный курс и приведен только с целью демонстрации работы метода useDelimiter().




    Достарыңызбен бөлісу:
  • 1   ...   5   6   7   8   9   10   11   12   ...   25




    ©dereksiz.org 2024
    әкімшілігінің қараңыз

        Басты бет