StringTokenizer

  • 10
  • Недоступна
Используя StringTokenizer раздели query на части по разделителю delimiter. Пример: getTokens("java.util.stream", "\\.") возвращает массив строк {"java", "util", "stream"}
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (201)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Kiril
Уровень 12
28 ноября, 10:30
Подскажите, пожалуйста. Сначала попробовал сделать только через while,
int i = 0;
        while (tokenizer.hasMoreTokens()) {
            result[i++] = tokenizer.nextToken();
            return result;
        }
результат такой:
[java, null, null]
Но попробовал через for,
while(tokenizer.hasMoreTokens()){
            for (int i = 0; i < result.length; i++) {
                result[i] = tokenizer.nextToken();
            }
            return result;
        }
все работает. помогите разобраться, почему в первом случае не получилось?
Anonymous #3209846
Уровень 2
28 ноября, 15:24
Все дело в том что после того как присвоили значение result[i++] = tokenizer.nextToken(); у вас идет прям в цикле выход из метода с выдачей результата, цикл завершен и не будет продолжение банкета. Вы засуньте под фигурную скобку и все получится
int i = 0;
        while (tokenizer.hasMoreTokens()) {
            result[i++] = tokenizer.nextToken();
        }
return result;
Kiril
Уровень 12
28 ноября, 15:37
Точняк. Невнимательность меня сгубит. Спасибо
дмитрий
Уровень 11
26 ноября, 09:36
Знать надо, но вряд ли понадобиться как и итератор.
Tony P
Уровень 11
23 ноября, 21:51
11153 ученика решили.
SVCH
Уровень 14
17 ноября, 07:59
нигде не встретил, сам обжегся - tokenizer.countTokens() после tokenizer.nextToken() уменьшается! То есть nextToken() забирает токен из токенайзера и countTokens() будет выдавать количество оставшихся элементов
Hotric
Уровень 11
3 ноября, 09:24
Хорошая задачка, мне прям понравилась. Сначала изучил что это за countTokens(), потом пришлось напомнить себе про массивы. 2 часа и все решено. Очень помогает IDEA для выявления ошибок
26 октября, 14:01
StringTokenizer str = new StringTokenizer (query, delimiter);
        String[] tokens  = new String[] {str.nextToken(), str.nextToken(), str.nextToken()};
        return tokens;
почему это решение не проходит? Несмотря на то что вывод получается правильный
Egor
Уровень 24
30 октября, 13:39
Добрый день! Вам заранее известно, что в программе будет всего 3 токена, поэтому вы создали массив на 3 строки. А если токенов будет больше? тогда в ваш массив уже не поместятся все строки. В условии задачи есть подсказка. Надо использовать метод countTokens(), чтобы сразу правильно определить длину вашего массива.
AndreyNVKZ Full Stack Developer в Свечной заводик
23 октября, 15:56
Использовал ArrayList
Ринат
Уровень 15
20 октября, 13:50
для решения нужна команда: countTokens() она определяет количество строк, это нужно что бы определить какого размера нужен массив
Romper Stomper
Уровень 19
20 октября, 12:29
Подсказка - читайте официальную документация на сайте Oracle по этой теме и никакой countTokens() вам не понадобится!
Vladislav Angelov
Уровень 12
26 сентября, 12:53
Кто не понимает, либо же не видит связи между лекцией и заданием к этой лекцией, рекомендую к просмотру лекцию в видеоформате с подробным объяснением всего метода StringTokenizer. Лично я, посмотрев буквально 9 минут, понял полностью суть задачи и написал её за минуту. Ссылка на лекцию - https://www.youtube.com/watch?v=J6X4G7ieXnA
Denis Davydov
Уровень 15
7 ноября, 03:12
Последовал вашему совету, одобряю
Misery
Уровень 14
15 ноября, 16:12
Очень помогло, огромное спасибо всем советую.
Виктория
Уровень 15
20 ноября, 09:54
Спасибо тебе, прекрасный человек