Menu
CoddyTech

Hiển thị kết quả phân tích

Thuộc phần Logic và luồng điều khiển trong hành trình Dart của Coddy. Bài học 57 trên 65.

challenge icon

Thử thách

Dễ

Trong bài học cuối cùng của dự án Phân tích văn bản, bạn sẽ tạo phần hiển thị đầy đủ tất cả kết quả phân tích đã thu thập trong suốt dự án. Bước này sẽ định dạng và trình bày tất cả số liệu thống kê thành một bản tóm tắt rõ ràng, chuyên nghiệp, thể hiện đầy đủ kết quả phân tích văn bản.

  1. Sử dụng tất cả biến từ các bước trước của dự án:
    • textToAnalyze từ bước thiết lập dự án
    • totalCharacters từ bước đếm ký tự
    • wordList từ bước tách từ
    • totalWords từ bước đếm từ
    • uniqueWordsSet từ bước đếm từ riêng biệt
    • uniqueWordCount từ bước đếm từ riêng biệt
    • wordFrequency từ bước đếm tần suất từ
  2. Tạo báo cáo cuối cùng đầy đủ, hiển thị mọi kết quả phân tích
  3. Định dạng đầu ra để hiển thị bản tóm tắt đầy đủ về phân tích văn bản
  4. Đưa vào tất cả số liệu thống kê với nhãn rõ ràng và định dạng phù hợp
  5. Hiển thị kết quả theo đúng định dạng bên dưới

Ví dụ, nếu trình phân tích văn bản được thiết lập với "hello world hello", chương trình của bạn sẽ in ra:

=======================================
    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.
=======================================

Nếu trình phân tích văn bản được thiết lập với "the cat and the dog and the bird", chương trình của bạn sẽ in ra:

=======================================
    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.
=======================================

Nếu trình phân tích văn bản được thiết lập với "apple banana apple cherry banana apple", chương trình của bạn sẽ in ra:

=======================================
    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.
=======================================

Chương trình của bạn cần xác định từ xuất hiện nhiều nhất bằng cách tìm từ có tần suất cao nhất trong bản đồ wordFrequency. Dùng nội suy chuỗi để hiển thị tất cả dữ liệu đã thu thập theo định dạng chuyên nghiệp, dễ đọc. Phần hiển thị cuối cùng này tổng hợp mọi công việc phân tích bạn đã hoàn thành trong suốt dự án thành một bản tóm tắt đầy đủ.

Tự làm thử

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.');
}

Tất cả bài học trong Logic và luồng điều khiển

Tự luyện tập: Trình biên dịch Dart online