Keperluan dan Reka Bentuk
Takrifkan masalah, masukan dan keluaran, kekangan serta pelan mudah untuk alat statistik perkataan.
Keperluan dan Reka Bentuk ialah pelajaran Java Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 3. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Java Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Java Academy merangkumi sejumlah 3 pelajaran.
Matlamat Projek
Matlamat: Bina alat kecil yang melaporkan statistik asas perkataan. Kita akan memecahkan teks kepada unit, menormalkan perkataan, mengira kekerapan dan memaparkan hasil teratas.
Masukan dan Keluaran
Masukan: rentetan teks pendek yang ditetapkan terus dalam kod buat masa ini. Keluaran: jumlah perkataan, perkataan berbeza dan N perkataan paling kerap muncul berserta bilangannya.
Peraturan Penormalan
Penormalan: tukarkan teks kepada huruf kecil dan buang tanda baca. Pisahkan pada aksara bukan huruf supaya unit menjadi bersih dan boleh dibandingkan.
Strategi Pengiraan
Pengiraan: petakan setiap perkataan kepada kekerapan. Dalam Java, HashMap ringkas yang memetakan String kepada bilangan bulat adalah jelas dan mencukupi untuk percubaan pertama.
Rancangan Pelaporan
Pelaporan: cetak jumlah dan N teratas, seperti tiga perkataan teratas. Apabila kiraan seri, apa-apa susunan boleh digunakan. Pastikan keluaran ringkas.
Prototaip: Pelaksanaan Kecil
Prototaip: tukarkan kepada huruf kecil, buang tanda baca, pisahkan, kira dan cetak tiga teratas. Kita menetapkan teks terus dalam kod buat masa ini dan memastikan keluaran mudah dibaca.
public class Main {
public static void main(String[] args) {
// Prototype: hard coded text, normalize, count, and print simple stats.
String text = "To be, or not to be: that is the question. To be or not?";
// 1) Lowercase
String lower = text.toLowerCase();
// 2) Replace non letters with spaces for splitting
String cleaned = lower.replaceAll("[^a-z]+", " ");
// 3) Split on spaces and filter empty tokens
String[] tokens = cleaned.trim().split("\\s+");
java.util.Map<String, Integer> freq = new java.util.HashMap<>();
int total = 0;
for (int i = 0; i < tokens.length; i = i + 1) {
String w = tokens[i];
if (w.length() == 0) continue;
total = total + 1;
Integer c = freq.get(w);
if (c == null) freq.put(w, 1);
else freq.put(w, c + 1);
}
// Simple top 3 by repeated linear scan (fine for small texts)
for (int k = 0; k < 3; k = k + 1) {
String bestWord = null;
int bestCount = -1;
for (java.util.Map.Entry<String,Integer> e : freq.entrySet()) {
String word = e.getKey();
int count = e.getValue();
if (count > bestCount) {
bestCount = count;
bestWord = word;
}
}
if (bestWord == null) break;
System.out.println("#" + (k + 1) + " " + bestWord + " = " + bestCount);
// mark as used
freq.put(bestWord, -1000000);
}
System.out.println("Total words: " + total);
System.out.println("Unique words: " + (freq.size()));
}
}
Reka Bentuk Dahulu
Semakan ringkas: Langkah manakah patut dilakukan terlebih dahulu apabila mereka bentuk projek kecil ini?
Ringkasan
Ringkasan: Kita menetapkan skop, mentakrifkan IO, menetapkan peraturan, memilih peta ringkas untuk pengiraan dan mengesahkan rancangan dengan pelaksanaan kecil.
Pelajari Java dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 104
- Pelajaran
- 374
Soalan Lazim
Adakah pelajaran “Keperluan dan Reka Bentuk” percuma?
Ya — teks penuh “Keperluan dan Reka Bentuk” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Java Academy, tingkat taraf kepada CoddyKit PRO. Kursus Java Academy merangkumi sejumlah 3 pelajaran.
Apakah yang akan saya pelajari dalam “Keperluan dan Reka Bentuk”?
Takrifkan masalah, masukan dan keluaran, kekangan serta pelan mudah untuk alat statistik perkataan. Anda berlatih Java Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Java Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Java Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 3.
Berapa lamakah pelajaran “Keperluan dan Reka Bentuk” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Java Academy ini?
Ya. Setiap pelajaran Java Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Keperluan dan Reka Bentuk
- Pelaksanaan
- Pengujian dan Pengembangan