Реализация
Превратите план в код: нормализуйте данные, разбейте текст на элементы, подсчитайте результаты и выведите самые частотные с помощью небольших понятных шагов.
«Реализация» — бесплатный урок Java Academy на CoddyKit. Это урок 2 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 3 уроков всего.
Повторение плана
Повторение плана: перевести текст в нижний регистр, удалить пунктуацию, разделить на элементы, подсчитать с помощью карты, затем вывести итоги и N наиболее частотных слов. Делайте каждый шаг небольшим и понятным.
Нормализация
Нормализация: приведите текст к нижнему регистру и замените все символы, кроме букв, пробелами. Это предотвращает появление отдельных токенов для Be и be, а также удаляет запятые и точки.
Токенизация
Токенизация: разделите текст по пробельным символам, чтобы получить чистые слова. Сначала удалите пробелы с краёв, чтобы первый токен не оказался пустым.
Подсчёт
Подсчёт: используйте HashMap, где слову соответствует его количество. Для каждого токена увеличивайте счётчик или добавляйте значение 1, если слово ещё отсутствует.
Формирование отчёта
Формирование отчёта: выведите общее количество и количество уникальных слов, а затем перечислите N самых частотных слов. Для небольших текстов достаточно простого цикла выбора.
Код: полный запуск
Запустите программу: Вы должны увидеть общее количество, количество уникальных слов и список самых частотных слов. Для больших текстов замените выбор сортировкой или минимальной кучей.
public class Main {
public static void main(String[] args) {
// Implementation: normalize, tokenize, count, and print top 5.
String text = "Be yourself; everyone else is already taken. Be kind. Be clear.";
// 1) Lowercase
String lower = text.toLowerCase();
// 2) Replace non letters with spaces
String cleaned = lower.replaceAll("[^a-z]+", " ");
// 3) Split on spaces and filter empties
String[] tokens = cleaned.trim().split("\\s+");
java.util.Map<String, Integer> freq = new java.util.HashMap<>();
int total = 0;
for (int i = 0; i < tokens.length; i = i + 1) {
String w = tokens[i];
if (w.length() == 0) continue;
total = total + 1;
Integer c = freq.get(w);
if (c == null) freq.put(w, 1);
else freq.put(w, c + 1);
}
// Print top 5 words using repeated selection (simple for small data)
int topN = 5;
for (int k = 0; k < topN; k = k + 1) {
String bestWord = null;
int bestCount = -1;
for (java.util.Map.Entry<String,Integer> e : freq.entrySet()) {
String word = e.getKey();
int count = e.getValue();
if (count > bestCount) {
bestCount = count;
bestWord = word;
}
}
if (bestWord == null || bestCount < 0) break;
System.out.println("#" + (k + 1) + " " + bestWord + " = " + bestCount);
// mark as used so it will not be picked again
freq.put(bestWord, -1000000);
}
System.out.println("Total words: " + total);
System.out.println("Unique words: " + (freq.size()));
}
}
Проверка согласованности
Быстрая проверка: Какой этап необходим для согласованного подсчёта независимо от регистра и знаков препинания?
Повторение
Повторение: Вы реализовали весь конвейер от начала до конца. Далее мы протестируем его на граничных случаях и рассмотрим простые расширения.
Часто задаваемые вопросы
Урок «Реализация» бесплатный?
Да — полный текст урока «Реализация» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 3 уроков всего.
Чему я научусь в уроке «Реализация»?
Превратите план в код: нормализуйте данные, разбейте текст на элементы, подсчитайте результаты и выведите самые частотные с помощью небольших понятных шагов. Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Java Academy?
Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 3.
Сколько времени занимает урок «Реализация»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Java Academy?
Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.