Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

تحديات برمجيةالتحدي الثالث - حل التمرين الثالث بلغة جافا

المطلوب

قم بتعريف دالة إسمها PrintWordsOccurence, نمرر لها نص عند إستدعاءها فتقوم بطباعة كم مرة تكررت كل كلمة في هذا النص.

مثال: إذا قمنا باستخدام الدالة PrintWordsOccurence() و تمرير النص "I am happy. I am a doctor. I like chocolate." فإنها ستطبع النتيجة التالية.

[3] I
[2] am
[1] happy.
[1] a
[1] doctor.
[1] like
[1] chocolate.


الحل بلغة جافا

public class Main {

    public static void main(String[] args) {

        String text = "I am happy. I am a doctor. I like chocolate.";
        printWordsOccurence(text);

    }

    public static void printWordsOccurence(String s) {

        if (s == null || s.isEmpty())
        {
            System.out.println("There is no text!");
            return;
        }

        String[] words = s.split(" ");
        int counter;

        for (int i = 0; i < words.length; i++)
        {
            counter = 1;
            for (int j = i + 1; j < words.length; j++) 
            {
                if (words[i].equals(words[j])) 
                {
                    counter = counter + 1;        
                    words[j] = "";    
                }
            }
            if (!words[i].equals(""))
            {
                System.out.println("[" + counter + "] " + words[i]);
            }
        }

    }

}

سنحصل على النتيجة التالية عند التشغيل.

[3] I
[2] am
[1] happy.
[1] a
[1] doctor.
[1] like
[1] chocolate.