В предыдущих разделах мы узнали, как использовать разделение (регулярное выражение String) класса String для разложения строки и как использовать класс StringTokenizer для анализа слов в строке. В этом разделе мы узнаем, как использовать объекты класса Scanner . для анализа строк. Данные, необходимые программе.
Существует два способа анализа данных, требуемых программой. Один — использовать тег-разделитель по умолчанию для анализа строки, а другой — использовать регулярные выражения в качестве тегов-разделителей для анализа строки. В этом разделе мы изучим первый. метод.
Чтобы проанализировать строку с использованием тега-разделителя по умолчанию, нам нужно создать объект Scanner и передать строку для анализа в созданный объект, например:
StringNBA=ILoveThisGame;
Чтобы проанализировать слова в NBA, мы можем создать объект Scanner:
Scannerscanner=newScanner(NBA);
Затем сканер использует пробелы в качестве разделителей для анализа слов в строке. Характеристики операции анализа следующие:
1) Сканер вызывает метод next() для последовательного возврата слов в NBA. Если последнее слово в NBA было возвращено методом next(), сканер вызывает метод hasNext(), чтобы вернуть false, в противном случае он возвращает true.
2) Для числовых слов в анализируемой строке, таких как 123, 1,23 и т. д., сканер может использовать метод nextInt() или nextDouble() вместо метода next(), то есть сканер может вызывать метод nextInt( ) или метод nextDouble() Преобразуйте числовые слова в данные типа int или double и верните их.
3) Если слово не является числовым, возникает исключение InputMismatchException, когда сканер вызывает метод nextInt() или nextDouble(). При обработке исключения можно вызвать метод next() для возврата нецифрового слова.