У меня есть программа, которая принимает строку и подсчитывает количество предложений в строке. У меня есть работа, но единственное, что я не могу понять, это то, что предложение заканчивается несколькими разделителями. Вот моя тестовая строка «Быстрая коричневая лиса прыгает через ленивую собаку. Вау !!!!» В этой строке должно быть два предложения. Но он возвращает 4, по сути, подсчитывая три восклицательных знака в конце Wow !!!!. Нам разрешено использовать только то, что вы видите, поэтому я не могу использовать массив.Подсчитайте количество предложений
Это то, что находится в SENTENCE_DELIMETERS = "., ::?!" переменная.
Любая помощь приветствуется.
int sentenceCount=0;
for(int i=0;i<myFile.length()-1;i++){
for(int j=0;j<SENTENCE_DELIMETERS.length();j++){
if(myFile.charAt(i)==SENTENCE_DELIMETERS.charAt(j))
sentenceCount++;
}
}
Это звучит как работа для регулярных выражений , –
Где вы найдете разделитель одного предложения, вставьте цикл while, который пропускает все остальное и увеличивает вашу переменную 'i'. В конце цикла while вы вернетесь в цикл 'for', чтобы проверить остальное. (В этом цикле while также обратите внимание на конец строки.) – usr2564301
Проверьте состояние внешнего цикла. Я думаю, вам это не нужно. –