Используйте понятный и поддерживаемый код, если только у вас нет особых проблем с производительностью для этой задачи
Вы можете попробовать что-то вроде этого:
StringTokenizer разделяет вашу строку ввода на «слова».
затем вы перебираете их и реализуете свою логику (счет, поиск и т. д.)
int count =0;
StringTokenizer st = new StringTokenizer(input);
while (st.hasMoreTokens()) {
addWordsInCapsToList();
findSpecificWords();
count ++;
}