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.
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.
- Sử dụng tất cả biến từ các bước trước của dự án:
textToAnalyzetừ bước thiết lập dự ántotalCharacterstừ bước đếm ký tựwordListtừ bước tách từtotalWordstừ bước đếm từuniqueWordsSettừ bước đếm từ riêng biệtuniqueWordCounttừ bước đếm từ riêng biệtwordFrequencytừ bước đếm tần suất từ
- Tạo báo cáo cuối cùng đầy đủ, hiển thị mọi kết quả phân tích
- Định dạng đầu ra để hiển thị bản tóm tắt đầy đủ về phân tích văn bản
- Đư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
- 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
1Thao tác nâng cao với danh sách
Thuộc tính danh sách: đầu và cuốiTrạng thái danh sách: isEmpty và isNotEmpĐảo ngược danh sáchThêm vào danh sách: insertXóa khỏi danh sách: removeWhereTìm trong danh sách: indexOfSắp xếp danh sáchXáo trộn danh sáchÔn tập: trình sắp xếp danh sách4Thao tác nâng cao với Map
Duyệt qua MapKiểm tra khóa và giá trịCác thuộc tính của Map: khóa và giá trịThêm có điều kiện: putIfAbsentXóa mục khỏi MapMap lồng nhauÔn tập: Cập nhật kho hàng2Thao tác hàm trên danh sách
Biến đổi bằng 'map'Lọc bằng 'where'Dùng '.toList()'Kiểm tra điều kiện bằng 'any'Điều kiện với 'every'Tìm phần tử bằng 'firstWhere'Ôn tập: lọc dữ liệu5Dự án: Tính tiền giỏ hàng
Thiết lập dự ánThêm mặt hàng vào giỏ8Dự án: Trình phân tích văn bản đơn giản
Tổng quan và thiết lập dự ánĐếm ký tự3Tập hợp
Tập hợp là gì?Tạo tập hợpThêm và xóa phần tử khỏi tập hợpKiểm tra phần tử trong tập hợpChuyển danh sách thành tập hợpPhép hợp của các tập hợpPhép giao của các tập hợpPhép hiệu của các tập hợpÔn tập: danh sách khách mời không trùng lặpTự luyện tập: Trình biên dịch Dart online