Gereksinimler ve Tasarım
Bir sözcük istatistikleri aracının problemini, girdilerini ve çıktılarını, kısıtlamalarını ve basit planını tanımlayın.
Gereksinimler ve Tasarım, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 3 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 3 dersten oluşur.
Proje amacı
Amaç: Temel sözcük istatistiklerini raporlayan küçük bir araç oluşturmak. Metni belirteçlere ayıracak, sözcükleri normalleştirecek, sıklıkları sayacak ve en sık geçen sonuçları göstereceğiz.
Girdiler ve çıktılar
Girdi: şimdilik koda sabitlenmiş kısa bir metin. Çıktı: toplam sözcük sayısı, benzersiz sözcükler ve sayılarıyla birlikte en sık geçen N sözcük.
Normalleştirme kuralları
Normalleştirme: Metni küçük harfe dönüştürün ve noktalama işaretlerini kaldırın. Belirteçlerin temiz ve karşılaştırılabilir olması için harf olmayan karakterlere göre ayırın.
Sayma stratejisi
Sayma: Her sözcüğü bir sıklıkla eşleyin. Java'da String değerlerini tamsayılarla eşleyen basit bir HashMap, ilk uygulama için açık ve yeterlidir.
Raporlama planı
Raporlama: Toplamları ve en sık geçen üç sözcük gibi en sık geçen N sözcüğü yazdırın. Sıklık sayıları eşitse sıralama önemli değildir. Çıktıyı basit tutun.
Prototip: küçük bir çalıştırma
Prototip: küçük harfe dönüştürün, noktalama işaretlerini kaldırın, ayırın, sayın ve en sık geçen üç sözcüğü yazdırın. Şimdilik metni koda sabitliyor ve çıktıyı okunabilir tutuyoruz.
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()));
}
}
Önce tasarım
Hızlı kontrol: Bu küçük projeyi tasarlarken hangi adım en önce gelmelidir?
Özet
Özet: Kapsamı belirledik, IO tanımını yaptık, kuralları koyduk, sayma için basit bir eşleme seçtik ve planı küçük bir çalıştırmayla doğruladık.
Sıkça Sorulan Sorular
“Gereksinimler ve Tasarım” dersi ücretsiz mi?
Evet — “Gereksinimler ve Tasarım” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 3 dersten oluşur.
“Gereksinimler ve Tasarım” dersinde ne öğreneceğim?
Bir sözcük istatistikleri aracının problemini, girdilerini ve çıktılarını, kısıtlamalarını ve basit planını tanımlayın. Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Java Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 1. dersidir.
“Gereksinimler ve Tasarım” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Gereksinimler ve Tasarım
- Uygulama
- Test ve Genişletmeler