Menu
Coddy logo textTech

Visualizzazione dell'analisi

Fa parte della sezione Logica e flusso del percorso Dart di Coddy. Lezione 57 di 65.

challenge icon

Sfida

Facile

In questa lezione finale del progetto Text Analyzer, creerai una visualizzazione completa di tutti i risultati dell'analisi che hai raccolto durante il progetto. Questo passaggio formatterà e presenterà tutte le statistiche in un riepilogo chiaro e professionale, che mostrerà l'analisi completa del testo.

  1. Usa tutte le variabili dei passaggi precedenti del progetto:
    • textToAnalyze dalla configurazione del progetto
    • totalCharacters dal passaggio di conteggio dei caratteri
    • wordList dal passaggio di suddivisione delle parole
    • totalWords dal passaggio di conteggio delle parole
    • uniqueWordsSet dal passaggio di conteggio delle parole uniche
    • uniqueWordCount dal passaggio di conteggio delle parole uniche
    • wordFrequency dal passaggio di conteggio della frequenza delle parole
  2. Crea un report finale completo che mostri tutti i risultati dell'analisi
  3. Formatta l'output in modo da mostrare un riepilogo completo dell'analisi del testo
  4. Includi tutte le statistiche con etichette chiare e una formattazione corretta
  5. Mostra i risultati esattamente nel formato riportato di seguito

Per esempio, se il tuo analizzatore di testo è stato configurato con "hello world hello", il programma dovrebbe produrre:

=======================================
    TEXT ANALYSIS COMPLETE REPORT    
=======================================
Original Text: "hello world hello"
=======================================
ANALYSIS SUMMARY:
- Total Characters: 17
- Total Words: 3
- Unique Words: 2
- Most Common Word: hello (appears 2 times)
=======================================
DETAILED BREAKDOWN:
Word List: [hello, world, hello]
Unique Words Set: {hello, world}
Word Frequency Map: {hello: 2, world: 1}
=======================================
Analysis completed successfully!
Text contains 2 unique words out of 3 total words.
=======================================

Se il tuo analizzatore di testo è stato configurato con "the cat and the dog and the bird", il programma dovrebbe produrre:

=======================================
    TEXT ANALYSIS COMPLETE REPORT    
=======================================
Original Text: "the cat and the dog and the bird"
=======================================
ANALYSIS SUMMARY:
- Total Characters: 32
- Total Words: 8
- Unique Words: 5
- Most Common Word: the (appears 3 times)
=======================================
DETAILED BREAKDOWN:
Word List: [the, cat, and, the, dog, and, the, bird]
Unique Words Set: {the, cat, and, dog, bird}
Word Frequency Map: {the: 3, cat: 1, and: 2, dog: 1, bird: 1}
=======================================
Analysis completed successfully!
Text contains 5 unique words out of 8 total words.
=======================================

Se il tuo analizzatore di testo è stato configurato con "apple banana apple cherry banana apple", il programma dovrebbe produrre:

=======================================
    TEXT ANALYSIS COMPLETE REPORT    
=======================================
Original Text: "apple banana apple cherry banana apple"
=======================================
ANALYSIS SUMMARY:
- Total Characters: 38
- Total Words: 6
- Unique Words: 3
- Most Common Word: apple (appears 3 times)
=======================================
DETAILED BREAKDOWN:
Word List: [apple, banana, apple, cherry, banana, apple]
Unique Words Set: {apple, banana, cherry}
Word Frequency Map: {apple: 3, banana: 2, cherry: 1}
=======================================
Analysis completed successfully!
Text contains 3 unique words out of 6 total words.
=======================================

Il programma dovrebbe determinare la parola più frequente trovando la parola con il conteggio di frequenza più alto nella mappa wordFrequency. Usa l'interpolazione di stringhe per visualizzare tutti i dati raccolti in un formato professionale e di facile lettura. Questa visualizzazione finale riunisce in un unico riepilogo completo tutto il lavoro di analisi che hai svolto durante il progetto.

Provalo tu

import 'dart:io';

void main() {
  String? textToAnalyze = stdin.readLineSync();
  
  int totalCharacters = textToAnalyze!.length;
  
  List<String> wordList = textToAnalyze.split(' ');
  
  int totalWords = wordList.length;
  
  Set<String> uniqueWordsSet = wordList.toSet();
  
  int uniqueWordCount = uniqueWordsSet.length;
  
  Map<String, int> wordFrequency = {};
  
  for (String word in wordList) {
    if (wordFrequency.containsKey(word)) {
      wordFrequency[word] = wordFrequency[word]! + 1;
    } else {
      wordFrequency[word] = 1;
    }
  }
  
  print('Text Analysis Tool - Word Frequency');
  print('====================================');
  print('Analyzing text: "$textToAnalyze"');
  print('Total characters: $totalCharacters');
  print('Words found: $wordList');
  print('Total words: $totalWords');
  print('Unique words: $uniqueWordsSet');
  print('Unique word count: $uniqueWordCount');
  print('====================================');
  print('Word Frequency Analysis Results:');
  print('Word frequencies: $wordFrequency');
  print('====================================');
  print('Word frequency analysis completed successfully.');
}

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Dart online