0Pricing
Java Academy · Lezione

Requisiti e progettazione

Definire il problema, gli input e gli output, i vincoli e un piano semplice per uno strumento di statistiche sulle parole.

Requisiti e progettazione è una lezione Java Academy gratuita su CoddyKit. Questa è la lezione 1 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Java Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Java Academy include 3 lezioni in totale.

Obiettivo del progetto

Obiettivo: costruire un piccolo strumento che riporti statistiche di base sulle parole. Tokenizzerà il testo, normalizzerà le parole, conterà le frequenze e mostrerà i risultati principali.

Input e output

Input: per ora, una breve stringa di testo codificata direttamente nel programma. Output: numero totale di parole, parole uniche e le N parole più frequenti con le relative frequenze.

Regole di normalizzazione

Normalizzazione: trasformi il testo in minuscolo e rimuova la punteggiatura. Suddivida il testo in corrispondenza dei caratteri che non sono lettere, così i token risultano puliti e confrontabili.

Strategia di conteggio

Conteggio: associ ogni parola a una frequenza. In Java, una semplice HashMap da String a Integer è chiara e sufficiente per un primo passaggio.

Piano di report

Report: stampi i totali e le prime N parole, ad esempio le prime tre. In caso di parità nelle frequenze, qualsiasi ordine va bene. Mantenga l'output semplice.

Prototipo: esecuzione breve

Prototipo: trasformi in minuscolo, rimuova la punteggiatura, suddivida il testo, conti le parole e stampi le prime tre. Per ora codifichi direttamente il testo e mantenga l'output leggibile.

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()));
  }
}

Prima la progettazione

Verifica rapida: quale passaggio dovrebbe venire per primo nella progettazione di questo mini-progetto?

Riepilogo

Riepilogo: Ha definito l'ambito, stabilito input e output, fissato le regole, scelto una semplice mappa per il conteggio e convalidato il piano con una breve esecuzione.

Domande Frequenti

La lezione «Requisiti e progettazione» è gratuita?

Sì — il testo completo di «Requisiti e progettazione» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Java Academy, passa a CoddyKit PRO. Il corso Java Academy include 3 lezioni in totale.

Cosa imparerò in «Requisiti e progettazione»?

Definire il problema, gli input e gli output, i vincoli e un piano semplice per uno strumento di statistiche sulle parole. Eserciti Java Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Java Academy?

Non è richiesta alcuna esperienza precedente. Java Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 3.

Quanto tempo richiede la lezione «Requisiti e progettazione»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Java Academy?

Sì. Ogni lezione Java Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Requisiti e progettazione
  2. Implementazione
  3. Test ed estensioni
← Torna a Java Academy