الخوارزميات و هياكل البيانات التحدي الثاني - حل التمرين الأول بلغة جافا

المطلوب

قم بتعريف دالة إسمها RemoveAll, عند استدعاءها نمرر لها نصيّن, فترجع نسخة من النص لا تحتوي على النص الثاني.
بعدها قم بتجربة هذه الدالة في البرنامج.

مثال: إذا قمنا باستخدام الدالة RemoveAll() و تمرير النص "I like cats. I have one cat." و الكلمة "cat" لها فإنها سترجع النص "I like s. I have one .".


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

public class Main {
    
    public static String removeAll(String s1, String s2) {
        
        int L1 = s1.length();
        int L2 = s2.length();
        String newS = "";
        
        for (int i = 0; i < L1;)
        {
            if (i <= L1 - L2 && s1.substring(i, i + L2).equals(s2))
            {
                i += L2;
            }
            else
            {
                newS += s1.charAt(i);
                i += 1;
            }

        }

        return newS;
    }

    
    public static void main(String[] args) {

        String text = "I like cats. I have one cat.";
        String keyword = "cat";
        String newText = removeAll(text, keyword);
		
        System.out.println("Before: " + text);
        System.out.println("After:  " + newText);
		
    }

}
		

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

Before: I like cats. I have one cat.
After:  I like s. I have one .
		

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة