تعتبر الطرق العودية فعالة في حل المشكلات ذات الهياكل العودية. يمكن حل الأمثلة السابقة بسهولة دون استخدام التكرار. يعرض هذا القسم مشكلة يصعب حلها دون استخدام التكرار. المشكلة هي العثور على حجم الدليل. حجم الدليل هو مجموع أحجام جميع الملفات الموجودة في الدليل. قد يحتوي الدليل d على أدلة فرعية. لنفترض أن الدليل يحتوي على ملفات f1 وf2 و... وfm وأدلة فرعية d1 وd2 و... وdn، كما هو موضح في الشكل أدناه.
يمكن تحديد حجم الدليل بشكل متكرر كما يلي:
الحجم (د) = الحجم (f1) الحجم (f2) ... الحجم (fm) الحجم (d1) الحجم (d2) ... الحجم (dn)
يمكن استخدام فئة ملف لتمثيل ملف أو دليل والحصول على خصائص الملفات والأدلة. هناك طريقتان في فئة ملف مفيدة لهذه المشكلة:
إذا كان كائن
الملف يمثل دليلاً (السطر 20)، فسيتم استدعاء كل عنصر فرعي (ملف أو دليل فرعي) في الدليل بشكل متكرر للحصول على حجمه (السطر 23). إذا كان كائن file يمثل ملفًا (السطر 26)، فسيتم الحصول على حجم الملف وإضافته إلى الحجم الإجمالي (السطر 27).
ماذا يحدث إذا تم إدخال دليل غير صحيح أو غير موجود؟ سيكتشف البرنامج أنه ليس دليلاً وسيستدعيfile.length() (السطر 27)، الذي يُرجع 0. وبالتالي، في هذه الحالة، سيعيد الأسلوب getSize 0.
لتجنب الأخطاء، من الممارسات الجيدة اختبار جميع الحالات. على سبيل المثال، يجب عليك اختبار البرنامج لإدخال ملف، ودليل فارغ، ودليل غير موجود، وملف غير موجود.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3