В вашей версии список слов a
будет содержать все слова, но также будет дублироваться. Вы можете либо
(a) проверьте каждое новое слово, если оно уже включено в список (List#contains
- это метод, который вы должны вызвать), или рекомендуемое решение
(b) заменить ArrayList<String>
на TreeSet<String>
. Это автоматически удалит дубликаты и сохранит слова в алфавитном порядке
Редактировать
Если вы хотите посчитать уникальные слова, сделайте то же самое, что и выше, и желаемый результат - размер коллекции. Поэтому, если вы ввели последовательность «a a b c ---», результатом будет 3, поскольку есть три уникальных слова (a, b и c).