Exigences et conception
Définissez le problème, les entrées et les sorties, les contraintes et un plan simple pour un outil de statistiques sur les mots.
Exigences et conception est une leçon Java Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Java Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Java Academy comprend 3 leçons au total.
Objectif du projet
Objectif : Construire un petit outil qui fournit des statistiques élémentaires sur les mots. Nous allons découper le texte en jetons, normaliser les mots, compter les fréquences et afficher les meilleurs résultats.
Entrées et sorties
Entrée : une courte chaîne de texte, codée en dur pour le moment. Sortie : le nombre total de mots, le nombre de mots distincts et les N mots les plus fréquents avec leur nombre d’occurrences.
Règles de normalisation
Normalisation : mettez le texte en minuscules et supprimez la ponctuation. Découpez-le sur les caractères qui ne sont pas des lettres afin que les jetons soient propres et comparables.
Stratégie de comptage
Comptage : associez chaque mot à une fréquence. En Java, une simple HashMap associant String à des entiers est claire et suffisante pour une première version.
Plan du rapport
Compte rendu : affichez les totaux et les N premiers résultats, par exemple les trois mots les plus fréquents. En cas d’égalité, l’ordre n’a pas d’importance. Gardez la sortie simple.
Prototype : petite exécution
Prototype : mettez en minuscules, supprimez la ponctuation, utilisez split, comptez et affichez les trois premiers résultats. Pour le moment, le texte est codé en dur et la sortie reste lisible.
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()));
}
}
Concevoir d’abord
Vérification rapide : Quelle étape doit arriver en premier lors de la conception de ce mini-projet ?
Récapitulatif
Récapitulatif : Nous avons délimité le périmètre, défini IO, établi les règles, choisi une table associative simple pour le comptage et validé le plan avec une petite exécution.
Questions Fréquemment Posées
La leçon « Exigences et conception » est-elle gratuite ?
Oui — le texte complet de « Exigences et conception » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Java Academy, passe à CoddyKit PRO. Le cours Java Academy comprend 3 leçons au total.
Qu'est-ce que j'apprendrai dans « Exigences et conception » ?
Définissez le problème, les entrées et les sorties, les contraintes et un plan simple pour un outil de statistiques sur les mots. Tu pratiques Java Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Java Academy ?
Aucune expérience préalable n'est requise. Java Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 3.
Combien de temps prend la leçon « Exigences et conception » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Java Academy ?
Oui. Chaque leçon Java Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Exigences et conception
- Implémentation
- Tests et extensions