Penghitung Frekuensi Kata
Termasuk bagian Logika dan Alur dalam perjalanan Dart di Coddy. Pelajaran 56 dari 65.
Tantangan
MudahMelanjutkan proyek penganalisis teksmu, sekarang kamu akan menerapkan fitur yang paling kompleks: penghitung frekuensi kata. Langkah ini akan membuat map yang melacak berapa kali setiap kata unik muncul dalam teksmu, sehingga memberikan wawasan terperinci tentang pola penggunaan kata.
- Gunakan variabel
textToAnalyzedari penyiapan sebelumnya - Gunakan variabel
totalCharactersdari langkah penghitungan karakter - Gunakan variabel
wordListdari langkah pemisahan kata - Gunakan variabel
totalWordsdari langkah penghitungan kata - Gunakan variabel
uniqueWordsSetdari langkah penghitungan kata unik - Gunakan variabel
uniqueWordCountdari langkah penghitungan kata unik - Buat Map kosong bernama
wordFrequencyuntuk menyimpan jumlah kata - Iterasi setiap kata dalam
wordListmenggunakan for-in loop - Untuk setiap kata, periksa apakah kata tersebut sudah ada di map menggunakan
containsKey() - Jika kata tersebut ada, tambahkan jumlahnya sebesar 1
- Jika kata tersebut belum ada, tambahkan ke map dengan jumlah 1
- Tampilkan hasil analisis frekuensi kata dalam format persis seperti yang ditunjukkan di bawah
- Tampilkan semua data analisis sebelumnya beserta map frekuensi kata dengan format yang tepat
Misalnya, jika penganalisis teksmu disiapkan dengan "hello world hello", programmu seharusnya menghasilkan:
Text Analysis Tool - Word Frequency
====================================
Analyzing text: "hello world hello"
Total characters: 17
Words found: [hello, world, hello]
Total words: 3
Unique words: {hello, world}
Unique word count: 2
====================================
Word Frequency Analysis Results:
Word frequencies: {hello: 2, world: 1}
====================================
Word frequency analysis completed successfully.Jika penganalisis teksmu disiapkan dengan "the cat and the dog and the bird", programmu seharusnya menghasilkan:
Text Analysis Tool - Word Frequency
====================================
Analyzing text: "the cat and the dog and the bird"
Total characters: 32
Words found: [the, cat, and, the, dog, and, the, bird]
Total words: 8
Unique words: {the, cat, and, dog, bird}
Unique word count: 5
====================================
Word Frequency Analysis Results:
Word frequencies: {the: 3, cat: 1, and: 2, dog: 1, bird: 1}
====================================
Word frequency analysis completed successfully.Jika penganalisis teksmu disiapkan dengan "apple banana apple cherry banana apple", programmu seharusnya menghasilkan:
Text Analysis Tool - Word Frequency
====================================
Analyzing text: "apple banana apple cherry banana apple"
Total characters: 38
Words found: [apple, banana, apple, cherry, banana, apple]
Total words: 6
Unique words: {apple, banana, cherry}
Unique word count: 3
====================================
Word Frequency Analysis Results:
Word frequencies: {apple: 3, banana: 2, cherry: 1}
====================================
Word frequency analysis completed successfully.Programmu harus mengiterasi daftar kata dan membuat map frekuensi dengan memeriksa apakah setiap kata sudah ada di map. Gunakan containsKey() untuk memeriksa kata yang sudah ada, lalu tambahkan jumlah yang ada atau buat entri baru dengan jumlah 1. Analisis frekuensi ini akan memberikan wawasan paling terperinci tentang pola penggunaan kata dalam teksmu.
Coba sendiri
import 'dart:io';
void main() {
// Text analyzer setup
String? textToAnalyze = stdin.readLineSync();
// Character counting
int totalCharacters = textToAnalyze!.length;
// Word splitting and counting
List<String> wordList = textToAnalyze.split(' ');
int totalWords = wordList.length;
// Unique word analysis
Set<String> uniqueWordsSet = Set.from(wordList);
int uniqueWordCount = uniqueWordsSet.length;
// Display results
print('Text Analysis Tool - Unique Words');
print('====================================');
print('Analyzing text: "$textToAnalyze"');
print('Total characters: $totalCharacters');
print('Words found: $wordList');
print('Total words: $totalWords');
print('====================================');
print('Unique Word Analysis Results:');
print('Unique words: $uniqueWordsSet');
print('Unique word count: $uniqueWordCount');
print('====================================');
print('Unique word analysis completed successfully.');
}Semua pelajaran di Logika dan Alur
1Manipulasi list Tingkat Lanjut
Properti list: first dan lastStatus list: isEmpty dan isNotEmpMembalikkan listMenambahkan ke list: insertMenghapus dari list: removeWhereMencari dalam list: indexOfMengurutkan listMengacak listRekap: Pengatur list4Manipulasi Map Lanjutan
Melakukan perulangan pada MapMemeriksa kunci dan nilaiProperti Map: kunci dan nilaiPenambahan Bersyarat: putIfAbsentMenghapus Entri dari MapMap BersarangRingkasan: Pembaruan Inventaris2Operasi Fungsional pada list
Mengubah dengan 'map'Menyaring dengan 'where'Menggunakan '.toList()'Memeriksa Kondisi dengan 'any'Kondisi dengan 'every'Menemukan dengan 'firstWhere'Ulasan: Penyaringan Data5Proyek: Perhitungan Keranjang Belanja
Menyiapkan ProyekMenambahkan Barang ke Keranjang8Proyek: Penganalisis Teks Sederhana
Gambaran Umum dan Persiapan ProyekMenghitung Karakter3set
Apa itu set?Membuat setMenambahkan dan menghapus elemen dari setMemeriksa elemen dalam setMengubah list menjadi setGabungan setIrisan setSelisih setRangkuman: Daftar tamu unikLatihan sendiri: Compiler Dart online