إليك برنامج صغير وبسيط:
انسخ رمز الكود كما يلي:
استيراد java.util.Arrays؛
الدرس الصف6
{
الفراغ العام الثابت الرئيسي (String[] args)
{
int array[]={2,3,1,5,4,6};
System.out.println(Arrays.toString(array));
System.out.println(getSum(array));
//System.out.println(getSum(2,3,1,5,4,6));
}
static int getSum(int array[])// احسب مجموع العناصر
{
مجموع كثافة العمليات=0;
ل(int i=0;i<array.length;i++)
sum+=array[i];
مبلغ الإرجاع؛
}
}
يحد تعريف طريقة getSum(int array[]) من قبول المصفوفات أحادية البعد من النوع int فقط. إذا حاولنا الآن تشغيل السطر 10 (السطر الذي تم التعليق عليه)، فسوف نحصل بالتأكيد على خطأ. إن طريقة الإعلان هذه لها عيوب واضحة، خاصة عندما يكون عدد المعلمات التي سيتم تمريرها غير معروف.
بدءًا من Java5، ظهرت معلمات متغيرة. الخصائص هي: عدد المعلمات متغير، ويمكن تمرير 0 إلى N؛ يجب أن تكون المعلمة الأخيرة للطريقة؛ عند استدعاء طريقة ذات معلمات متغيرة، يقوم المترجم ضمنيًا بإنشاء مصفوفة للمعلمات المتغيرة، و يتم تضمين المصفوفة في نص الطريقة للوصول إلى المعلمات المتغيرة.
نقوم بإلغاء تعليق الكود أعلاه وتغيير getSum(int array[]) إلى getSum(int ... array) لتحقيق النتائج التي نريدها. النتائج التي تم الحصول عليها هي كما يلي:
من المخرجين 21 أدناه، يمكننا أن نرى أن getSum(int ... array) قبل بنجاح إدخال رقمين مختلفين من البيانات.
هناك نقطة أخرى تحتاج إلى اهتمام خاص في البرمجة الفعلية وهي أن المعلمة المتغيرة يجب أن تكون المعلمة الأخيرة للطريقة. يمكنك إجراء تغييرات بسيطة على الكود أعلاه للاختبار.