الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف احصل على قيم المعاملات المتعددة (myparameter...)

بدأه sameh mahmoud في 16 سبتمبر 2009 · 11 رد · 638 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه

انا اسف جدا يا جماعة على هذا السؤال البدئى لان هذا النوع لم يمر على فى الكتاب الذى قرأته و لم استطيع البحث على هذه الحروف '...'

وجد فى احدى موضوعات هذا المنتدى تعريفا لميثود يشبه هذا الشكل

public void someMethod(Object... o)
{
	etc
}

قمت بتجربة هذا النوع و وجدت ان تعريف ميثود بهذا الشكل يجعلك تستخدم اكثر من معامل من نفس النوع الذى يسبق النقاط مثال : -

تعرف الدالة

void sameh (String... x)
{
  etc
}

استخدام الميثود

sameh("hello1" , "hello2" , "hello3");

السؤال الاول :: هل ما فهمته صحيح ؟؟؟

السؤال الثاني :: كيف احصل على قيم هذا النوع من المعاملات ؟؟؟

قمت بتجربة هذا الكود لطباعة القيم ولكن تم طباعة رموز غربية

void sameh (String... x)
{
		 for(String s : x)
			  System.out.println(s);
}

منتظر ردكم و شكرا لكم كثيرا

تم تعديل هذه المشاركة بواسطة sameh mahmoud في 17 سبتمبر 2009 في 10:33

سبـــــحــــان الله و بحمده سبحان الله العظيم

403100468.gif

#2

كل ما قلته صحيح، وحتى الميثود الذي كتبته صحيحة واشتغلت معي جيدا

ملاحظة مهمة: المتغير x الموجود بعد الثلاث نقاط ما هو في الحقيقة إلا مصفوفة عادية، يعني ممكن تتعامل معه مثل أي مصفوفة


System.out.println(x);
}
 for (int i = 0; i < x.length; i++) {

هذا المثال الذي جربته



static void sameh (String... x)
{
//The cool way
for(String s : x)
System.out.println(s);
//The normal way
for (int i = 0; i < x.length; i++) {
System.out.println(x);
}
}
public static void main(String[] args) {
sameh("zaza", "zozo", "zizi");
}
}
 public class TestVarArgs {

#3

مع الاسف يا اخى علاء الكود قام بطباع الشكل التالى :

اقتباس
[Ljava.lang.Object;@190d11

[Ljava.lang.Object;@190d11

لماذا قام بطباعة القيم بهذا الشكل ؟؟؟

و جربت الميثود toString و لم تنفع

تم تعديل هذه المشاركة بواسطة sameh mahmoud في 16 سبتمبر 2009 في 23:42

سبـــــحــــان الله و بحمده سبحان الله العظيم

403100468.gif

#4

هذا عصام وليس علاء :P

أي نسخة من جافا تستعمل؟؟ لأن الكود يعمل عندي بشكل جيد

الforeach والvarargs تم إضافتهما منذ النسخة الخامسة، يعني إذا عندك نسخة ما قبل الخامسة فلن يعمل عندك، ولكن يفترض أن يعطيك رسالة خطأ :blink:

#5

انا اسف جدا و الله يا عصام بيه و الله اتلغبط بس انا كنت عارف انى بكلمك ( لانى متعود ارد على الاخ علاء ) بس صدقنى غير مقصودة اطلاقا

هذا ال JDK المستخدم : jdk-6u14-nb-6_7-windows-ml مع النت بينز

post-158349-1253134549_thumb.jpg

اى رابط من الصور اعلاه لتحميله

مع ملاحظة اننى اريد ال j2ee , j2se

معا

و شكرا لك

تم تعديل هذه المشاركة بواسطة sameh mahmoud في 16 سبتمبر 2009 في 23:57

سبـــــحــــان الله و بحمده سبحان الله العظيم

403100468.gif

#6

هذه الدالة لن تطبع

[Ljava.lang.Object;@190d11
[Ljava.lang.Object;@190d11

إلا لو كان المدخل لها هو عبارة عن مصفوفة من نوع Object وليس String

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#7

ممكن تعطينا الكود الذي استعملته والذي يطبع هذه الأبيات الشعرية :lol:

#8

هل اصدار ال JDK هو المناسب يا Herch باشا ؟؟؟

ثانيا علاء الصالحي باشا لقد استخدمت الميثود toString و ايضا استخدمت الكلاس String

بخصوص كود الابيات الشعرية يا اخى Herch :lol:

public class Main {


public static void main(String[] args)
{
Sameh("sameh" , "Kamal" , "Hani");
SamehByObject("Hello world");
getX(43);
}

public static void SamehByObject(Object... x)
{
for(Object x2 : x)
System.out.println(x.toString());
}

public static void Sameh(String... x)
{
for(String x2 : x)
System.out.println(x);
}

public static void getX(int... x)
{
for(int z : x)
System.out.println(x);
}

}

شكرا جدا لكما

تم تعديل هذه المشاركة بواسطة sameh mahmoud في 17 سبتمبر 2009 في 00:25

سبـــــحــــان الله و بحمده سبحان الله العظيم

403100468.gif

#9

الخطأ هو أنك تمرر لprintln المصفوفة وليس الString

فمثلا في هذا السطر

for(String x2 : x)

x2 هي الString وx هي المصفوفة، يعني لازم تمرر x2 وليس x

#10

تمام يا معلم herch تم حل المشكلة

سبـــــحــــان الله و بحمده سبحان الله العظيم

403100468.gif

#11

على كل حال

هذه مقالات كنت كتبتها عن foreach

أحب أن أشارككم فيها

(بمعنى آخر دعاية لمدونتي:) )

لمحة جافاوية 17: كرر لكل عنصر

لمحة جافاوية 18: الفئات القابلة للتكرار

لمحة جافاوية 56: كرر لكل عنصر في ضوء تعدد الخيوط

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#12

متشكرين يا علاء باشا على المقالات الجميلة دي

سبـــــحــــان الله و بحمده سبحان الله العظيم

403100468.gif

مواضيع مشابهة