0Pricing
Java Academy · درس

التنفيذ

حوّل الخطة إلى شفرة: طبّع البيانات، وقسّمها إلى رموز، واحسب التكرارات، واطبع أهم النتائج بخطوات صغيرة سهلة القراءة.

التنفيذ درس مجاني في Java Academy على CoddyKit. هذا هو الدرس 2 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Java Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Java Academy 3 دروس في المجموع.

مراجعة الخطة

مراجعة الخطة: حوّلوا النص إلى أحرف صغيرة، وأزيلوا علامات الترقيم، وقسّموه إلى رموز، واحسبوا التكرارات باستخدام خريطة، ثم اطبعوا الإجماليات وأفضل N نتائج. أبقوا كل خطوة صغيرة وواضحة.

التطبيع

التطبيع: حوّل النص إلى أحرف صغيرة واستبدل الأحرف غير الحرفية بمسافات. يمنع ذلك إنشاء رموز منفصلة لـ Be وbe، ويزيل الفواصل والنقاط.

التقسيم إلى رموز

التقسيم إلى رموز: قسّم النص عند المسافات البيضاء للحصول على كلمات نظيفة. أزل المسافات الزائدة أولًا حتى لا يكون الرمز الأول فارغًا.

العدّ

العدّ: استخدم HashMap يربط الكلمة بعدد مرات ظهورها. لكل رمز، زِد العدد أو أدرج القيمة واحدًا إذا لم تكن الكلمة موجودة.

إعداد التقرير

إعداد التقرير: اطبع العدد الإجمالي وعدد الكلمات الفريدة، ثم اعرض قائمة بأكثر N كلمة تكرارًا. بالنسبة إلى النصوص الصغيرة، تكفي حلقة اختيار بسيطة.

الشفرة: التشغيل الكامل

شغّل البرنامج: من المفترض أن ترى الإجماليات، وعدد الكلمات الفريدة، وقائمة بأكثر الكلمات تكرارًا. بالنسبة إلى النصوص الكبيرة، استبدل الاختيار بالفرز أو بكومة صغرى.

public class Main {
  public static void main(String[] args) {
    // Implementation: normalize, tokenize, count, and print top 5.
    String text = "Be yourself; everyone else is already taken. Be kind. Be clear.";
    // 1) Lowercase
    String lower = text.toLowerCase();
    // 2) Replace non letters with spaces
    String cleaned = lower.replaceAll("[^a-z]+", " ");
    // 3) Split on spaces and filter empties
    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);
    }

    // Print top 5 words using repeated selection (simple for small data)
    int topN = 5;
    for (int k = 0; k < topN; 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 || bestCount < 0) break;
      System.out.println("#" + (k + 1) + " " + bestWord + " = " + bestCount);
      // mark as used so it will not be picked again
      freq.put(bestWord, -1000000);
    }

    System.out.println("Total words: " + total);
    System.out.println("Unique words: " + (freq.size()));
  }
}

فحص الاتساق

فحص سريع: ما الخطوة الأساسية لضمان اتساق العدّ مع اختلاف حالات الأحرف وعلامات الترقيم؟

مراجعة

مراجعة: نفّذت خط أنابيب المعالجة من البداية إلى النهاية. بعد ذلك، سنختبره باستخدام الحالات الحدية وننظر في بعض التوسعات البسيطة.

الأسئلة الشائعة

هل درس «التنفيذ» مجاني؟

نعم — نص درس «التنفيذ» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Java Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Java Academy 3 دروس في المجموع.

ماذا ستتعلم في «التنفيذ»؟

حوّل الخطة إلى شفرة: طبّع البيانات، وقسّمها إلى رموز، واحسب التكرارات، واطبع أهم النتائج بخطوات صغيرة سهلة القراءة. تتمرن على Java Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Java Academy؟

لا تُشترط خبرة سابقة. Java Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 3.

كم من الوقت يستغرق درس «التنفيذ»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Java Academy هذا؟

نعم. كل درس في Java Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. المتطلبات والتصميم
  2. التنفيذ
  3. الاختبار والتوسعات
← العودة إلى Java Academy