要件と設計
単語統計ツールの問題、入力と出力、制約、シンプルな計画を定義します。
「要件と設計」は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フィードバックを取得できます。ローカル設定は不要です。