Я пытаюсь написать метод для токенизации строки в соответствующие слова в массив.Я уже тестировал свою программу с помощью метода split, и она работает нормально, но вместо этого я пытаюсь написать метод токенизации, который не использует split.Это то, что я пробовал до сих пор:
public static String[] tokenize(String sentence) {
int wordCount = countWords(sentence);
String[] sentenceWords = new String[wordCount];
int curWord = 0;
char letter;
for(int i = 0; i < sentence.length()-1; i++) {
letter = sentence.charAt(i);
if (letter == ' ') {
curWord++;
continue;
}
System.out.println (sentenceWords[curWord]);
sentenceWords[curWord] = String.format("%s%c", sentenceWords[curWord], letter);
System.out.printf("%s\n", sentenceWords[curWord]);
}
return sentenceWords;
}
Вывод для этого метода был совершенно неверным.Я получил вывод, заполненный кучей нулей, и каждое слово было в новой строке.
Я также попробовал другой вариант, но не слишком далеко с ним:
public static String[] tokenize(String sentence) {
int wordCount = countWords(sentence);
String[] sentenceWords = new String[wordCount];
for(int i = 0; i < sentence.length()-1; i++) {
if(sentence.contains(" ")) {
//Something.....
}
}
return sentenceWords;
}
I 'Я не уверен, какой будет правильный подход.