StringTokenizer в Java- Почему пропускает первое слово?

144
20 апреля 2018, 16:53

Почему при отправке строки answerLine- пропускается первое слово "answerList"

String answerLine="answerList--wer -- er-- 3333 - - fd - edfdf";
 StringTokenizer tokzer=new StringTokenizer(answerLine, "-{2}");
        while (tokzer.hasMoreTokens())
                  System.out.println(tokzer.nextToken().trim());

Вот результат

wer
er
3333
fd
edfdf
Answer 1

возможно вы где то случайно вызываете nextToken() лишний раз потому как приведенный тест ничего не пропускает

@Test
public void testST() throws Exception
{
    String answerLine = "answerList--wer -- er-- 3333 - - fd - edfdf";
    StringTokenizer tokzer = new StringTokenizer(answerLine, "-{2}");
    while(tokzer.hasMoreTokens())
        System.out.println(tokzer.nextToken().trim());
}

выдает:

answerList
wer
er
3333
fd
edfdf

однако обратите внимание на то что задать два минуса как разделитель не получится

@Test
public void testST2() throws Exception
{
    String answerLine = "each delimeter character - is independent {and} combining 2 charachers {is not} possible";
    StringTokenizer tokzer = new StringTokenizer(answerLine, "-{2}");
    while(tokzer.hasMoreTokens())
        System.out.println(tokzer.nextToken().trim());
}

выдаст:

each delimeter character
is independent
and
combining
charachers
is not
possible
READ ALSO
Как заполнить массив String пустыми строками?

Как заполнить массив String пустыми строками?

Я хочу создать массив String, содержащий несколько пустых строк

147
Java MySQL помощь с подключением к БД и таблицей! [требует правки]

Java MySQL помощь с подключением к БД и таблицей! [требует правки]

Всем привет! В общем задача стоит чтобы спроектировать программу для БД! Создать кнопку добавить, изменить, удалить и поиск! В программе я все...

166
Scanner, stream и ооп

Scanner, stream и ооп

Есть класс TestClassЕсли это важно, тесты на junit

143