Exibindo a Análise
Parte da seção Lógica & Fluxo do Journey de Dart da Coddy — lição 57 de 65.
Desafio
FácilNesta lição final do projeto Analisador de Texto, você criará uma exibição abrangente de todos os resultados da análise que coletou ao longo do projeto. Esta etapa formatará e apresentará todas as estatísticas em um resumo claro e profissional que demonstra a análise completa do texto.
- Use todas as variáveis das etapas anteriores do seu projeto:
textToAnalyzeda configuração do seu projetototalCharactersda sua etapa de contagem de caractereswordListda sua etapa de divisão de palavrastotalWordsda sua etapa de contagem de palavrasuniqueWordsSetda sua etapa de contagem de palavras únicasuniqueWordCountda sua etapa de contagem de palavras únicaswordFrequencyda sua etapa de contador de frequência de palavras
- Crie um relatório final abrangente que exiba todos os resultados da análise
- Formate a saída para mostrar um resumo completo da análise do texto
- Inclua todas as estatísticas com rótulos claros e formatação adequada
- Exiba os resultados no formato exato mostrado abaixo
Por exemplo, se o seu analisador de texto foi configurado com "hello world hello", seu programa deve exibir:
=======================================
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 o seu analisador de texto foi configurado com "the cat and the dog and the bird", seu programa deve exibir:
=======================================
TEXT ANALYSIS COMPLETE REPORT
=======================================
Original Text: "the cat and the dog and the bird"
=======================================
ANALYSIS SUMMARY:
- Total Characters: 33
- 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 o seu analisador de texto foi configurado com "apple banana apple cherry banana apple", seu programa deve exibir:
=======================================
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.
=======================================Seu programa deve determinar a palavra mais comum encontrando a palavra com a maior contagem de frequência no mapa wordFrequency. Use interpolação de strings para exibir todos os dados coletados em um formato profissional e fácil de ler. Esta exibição final reúne todo o trabalho de análise que você concluiu ao longo do projeto em um resumo abrangente.
Experimente você mesmo
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.');
}Todas as lições de Lógica & Fluxo
1Manipulação Avançada de Listas
Propriedades de Lista: first & lastEstado da Lista: isEmpty & isNotEmptyInvertendo uma ListaAdicionando a uma Lista: insertRemoção em Listas: removeWhereBuscando em uma Lista: indexOfOrdenando uma ListaEmbaralhando uma ListaRecapitulação - Organizador de Listas4Manipulação Avançada de Mapas
Iterando sobre um MapVerificando Chaves e ValoresPropriedades do Map: keys & valuesAdição Condicional: putIfAbsentRemovendo Entradas de um MapMaps AninhadosRecapitulação - Atualização de Inventário2Operações Funcionais em Listas
Transformando com 'map'Filtrando com 'where'Usando '.toList()'Verificando Condições com 'any'Condições com 'every'Encontrando com 'firstWhere'Recapitulação - Filtragem de Dados5Projeto: Cálculo de Carrinho de Compras
Configuração do ProjetoAdicionando Itens ao Carrinho8Projeto: Analisador de Texto Simples
Visão Geral e Configuração do ProjetoContagem de Caracteres3Conjuntos
O que é um Conjunto?Criando um ConjuntoAdicionando e Removendo de ConjuntosVerificando Elementos em um ConjuntoConvertendo uma Lista para um ConjuntoUnião de ConjuntosInterseção de ConjuntosDiferença de ConjuntosRecapitulação - Lista de Convidados Únicos