実装
計画をコードに落とし込みます。正規化、トークン化、カウントを行い、小さく読みやすい手順で上位の結果を出力します。
「実装」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン2/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これは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時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全3レッスンが含まれています。
「実装」で何を学びますか?
計画をコードに落とし込みます。正規化、トークン化、カウントを行い、小さく読みやすい手順で上位の結果を出力します。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Java Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/3です。
「実装」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このJava Academyレッスンでコードを書いて実行できますか?
はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。