0Pricing
Java Academy · レッスン

要件と設計

単語統計ツールの問題、入力と出力、制約、シンプルな計画を定義します。

「要件と設計」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン1/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全3レッスンが含まれています。

プロジェクトの目標

目標:基本的な単語統計を報告する小さなツールを作成します。テキストをトークン化し、単語を正規化し、出現頻度を数え、上位の結果を表示します。

入力と出力

入力:現時点ではハードコードした短いテキスト文字列です。出力:単語の総数、異なる単語の数、出現回数付きの出現頻度上位 N 件です。

正規化の規則

正規化:テキストを小文字にし、句読点を取り除きます。文字以外で分割することで、トークンをきれいにして比較可能にします。

カウントの方針

カウント:各単語を出現頻度に対応付けます。Java では、String から Integer への単純な HashMap で十分に明確な最初の実装ができます。

レポートの計画

レポート:合計と上位 N 件(たとえば出現頻度上位3語)を出力します。件数が同じ場合の順序は問いません。出力はシンプルに保ちます。

プロトタイプ:小さな実行

小文字化し、句読点を取り除き、分割し、数え、上位3件を出力するプロトタイプを作成します。現時点ではテキストをハードコードし、読みやすい出力にします。

public class Main {
  public static void main(String[] args) {
    // Prototype: hard coded text, normalize, count, and print simple stats.
    String text = "To be, or not to be: that is the question. To be or not?";
    // 1) Lowercase
    String lower = text.toLowerCase();
    // 2) Replace non letters with spaces for splitting
    String cleaned = lower.replaceAll("[^a-z]+", " ");
    // 3) Split on spaces and filter empty tokens
    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);
    }

    // Simple top 3 by repeated linear scan (fine for small texts)
    for (int k = 0; k < 3; 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) break;
      System.out.println("#" + (k + 1) + " " + bestWord + " = " + bestCount);
      // mark as used
      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は初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/3です。

「要件と設計」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJava Academyレッスンでコードを書いて実行できますか?

はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

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

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