Поиск по этому блогу

понедельник, 28 октября 2013 г.

Вопросы на собеседовании Java программиста. Класс StringTokenizer

Класс StringTokenizer предназначен для разбора строки на составные элементы. Используя этот класс можно выделить из строки слова, задав какие разделители находятся между словами.

Конструкторы класса StringTokenizer


1. StringTokenizer tokenizer = new StringTokenizer(String str) - с помощью этого конструктора мы можем создать объект, который позволит нам разбить строку str на слова разделенные пробелами или следующими символами: символ табуляций '\t', символ перевода строки '\n' и символ возврата каретки '\r'.

String str1 = "This is Sparta";
StringTokenizer tokenizer1 = new StringTokenizer(str1);

2. StringTokenizer tokenizer = new StringTokenizer(String str, String delim) - с помощью второго конструктора мы можем задать разделители использую второй параметр конструктора delim. Например, ";:,. " - тут последним разделителем задан пробел, если его не указать, то пробел не будет считаться как разделитель, если мы используем этот конструктор. 

String str2 = "This,is.second;example:of StringTokenizer";

StringTokenizer tokenizer2 = new StringTokenizer(str2, ",.:; ");

3. StringTokenizer tokenizer = new StringTokenizer(String str, String delim, String returnDelims) - используя этот конструктор, можно задать через третий параметр returnDelims, чтобы разделители включались в число слов. Если returnDelims равно true, то разделители будут включены в число слов, если false, то не будут.

String str3 = "This,is.third;example: of that post";
StringTokenizer tokenizer3 = new StringTokenizer(str3, ",.:; ", true);

Методы класса StringTokenizer


Для демонстрации того, как работать с классом StringTokenizer я буду использовать три основных метода этого класса:
1. Метод int countTokens() - возвращает количество слов разделенных заданными разделителями
2. Метод boolean hasMoreTokens() - возвращает true, если в строке есть еще слова, в противном случае возвращает false
3. Метод String nextToken() - возвращает следующее слово

Исходный код программы, показывающей как использовать класс StringTokenizer

import java.util.StringTokenizer;
 
public class StringTokenizerExample {
 
  public static void main(String[] args) {
 
    System.out.println("Example of how work first constructor of StringTokenizer"); 
 String str1 = "This is Sparta";
 StringTokenizer tokenizer1 = new StringTokenizer(str1);
 System.out.println("Count of tokens in string str1: " + tokenizer1.countTokens());
 while (tokenizer1.hasMoreTokens()) {
   System.out.println(tokenizer1.nextToken());
 }
 
 System.out.println();
 System.out.println("*******************************************************"); 
 System.out.println();
 
 String str2 = "This,is.second;example:of StringTokenizer";
 StringTokenizer tokenizer2 = new StringTokenizer(str2, ",.:; ");
 System.out.println("Count of tokens in string str2: " + tokenizer2.countTokens());
 while (tokenizer2.hasMoreTokens()) {
   System.out.println(tokenizer2.nextToken());
 }
 
 System.out.println();
 System.out.println("*******************************************************");
 System.out.println();
 
 String str3 = "This,is.third;example: of that post";
 StringTokenizer tokenizer3 = new StringTokenizer(str3, ",.:; ", true);
 System.out.println("Count of tokens in string str3: " + tokenizer3.countTokens());
 while (tokenizer3.hasMoreTokens()) {
   System.out.println(tokenizer3.nextToken());
 
 }
 
  }
 
}

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



Комментариев нет:

Отправить комментарий