Menu
Coddy logo textTech

Statistiques Avancées

Fait partie de la section Logique & Flux du Journey Java de Coddy. Leçon 53 sur 59.

Nous allons maintenant ajouter des statistiques avancées à l’aide des méthodes de HashMap pour trouver les mots les plus/moins fréquents et calculer des pourcentages.

challenge icon

Défi

Facile

Améliore le programme pour afficher :

  1. Le nombre total de mots
  2. Le nombre de mots uniques
  3. Chaque mot avec son nombre d’occurrences et son pourcentage du total, un mot par ligne, dans l’ordre alphabétique (un TreeMap conserve ses clés triées ; si tu utilises un HashMap, trie les clés avant l’affichage)

Par exemple :

Entrée :

Coddy!

Sortie attendue :

Total words: 1
Unique words: 1
Word statistics:
coddy: 1 (100.00%)

Essayez vous-même

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String text = scanner.nextLine();
        
        String[] sentences = text.split("\\.");
        String[][] textArray = new String[sentences.length][];
        HashMap<String, Integer> wordCount = new HashMap<>();
        
        for (int i = 0; i < sentences.length; i++) {
            textArray[i] = sentences[i].trim().split(" ");
            for (int j = 0; j < textArray[i].length; j++) {
                if (!textArray[i][j].isEmpty()) {
                    String word = textArray[i][j]
                        .replaceAll("[^a-zA-Z ]", "")
                        .toLowerCase();
                    wordCount.put(word, wordCount.getOrDefault(word, 0) + 1);
                }
            }
        }
        
        System.out.println("Word counts:");
        for (Map.Entry<String, Integer> entry : wordCount.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux

Entraînez-vous par vous-même : Compilateur Java en ligne