0Pricing
Java Academy · レッスン

実装

計画をコードに落とし込みます。正規化、トークン化、カウントを行い、小さく読みやすい手順で上位の結果を出力します。

「実装」は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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 要件と設計
  2. 実装
  3. テストと拡張
← Java Academyに戻る