اذهب إلى المحتوى

السؤال

نشر

السلام عليكم ورحمة الله، لدي استشكال في احدى اساليب لأري (Arrey) في اللغة جافا، انه معقد جدا ولم افهمه الكود التالي مثال:

String[][] names = {{"Sheikh", "El Moctar"},{"Bouna", "Ahmed"}};
  System.out.println(names[0][0]+" "+names[0][1]);

ممكن شرح مفصل وكيفية التفرقة ؟

Recommended Posts

  • 0
نشر

وعليكم السلام أهلا بك،

هذا النوع من المصفوفات يعرف بالمصفوفة ذات البعدين، أي أن المصفوفة تحتوي على عدد من العناصر والتي بدورها هي مصفوفات أيضاً. ويمكن عمل مصفوفات بأبعاد متعددة حسب الحوجة.
لتحديد عنصر داخل مصفوفة متعددة الأبعاد (2×2) كالخاصة بك يجب عليك تحديد ترتيب المصفوفة الفرعية أولا (ترتيب المصفوفات يبدأ من الصفر) ومن ثم العنصر بداخلها ، للتوضيح:

// String[][] تعني أن المصفوفة تتكون من بعدين من السلاسل النصية
String[][] names = {{"Sheikh", "El Moctar"},{"Bouna", "Ahmed"}};

// تعني العنصر الأول في المصفوفة والذي هو مصفوفة بدوره
names[0] >>> {"Sheikh", "El Moctar"}

// تعني العنصر الأول داخل المصفوفة الفرعية الأولى
names[0][0] >>> "Sheick"
  
// تعني العنصر الثاني داخل المصفوفة الفرعية الأولى
names[0][1] >>> "El Moctar"

وبالتالي إخراج الكود الخاص بك سيكون بالشكل:

Sheikh El Moctar

 

  • 0
نشر
بتاريخ 18 دقائق مضت قال الشيخ المختار الشنقيطس:

السلام عليكم ورحمة الله، لدي استشكال في احدى اساليب لأري (Arrey) في اللغة جافا، انه معقد جدا ولم افهمه الكود التالي مثال:


String[][] names = {{"Sheikh", "El Moctar"},{"Bouna", "Ahmed"}};
  System.out.println(names[0][0]+" "+names[0][1]);

ممكن شرح مفصل وكيفية التفرقة ؟

و عليكم السلام أخي الكريم . 
هذا النوع من المصفوفات يسمى المصفوفة ذو الإتجاهين  (2D array) - "Two-dimensional Arrays" و يتم تعريفها من خلال السطر التالي :- 

// تدل [] [] على انها مصفوفة ذو اتجاهين 
String[][] names ; 

// و هذه المصفوفة العادية بإتجاه واحد 
String[] names

بحيث تتميز هذا النوع  من المصفوفات بإحتوائها على قيمتين من نوع  string و في المثال الخاص بك يمكن أن تكون المصفوفة تحتوي على الاسم الأول و الاسم الأخير للمستخدم . 
 

// names 
// هو اسم المصفوفة 
// [] []  نوع المصفوفة 
// {"Sheikh", "El Moctar"}
// هنا عملية تعريف قيمة بداخل المصفوفة 

String[][] names = {{"Sheikh", "El Moctar"},{"Bouna", "Ahmed"}};


 

  System.out.println(names[0][0]+" "+names[0][1]);

// هنا عملية طباعة عناصر المصفوفة 
//بحيث 
// names[0][0]
//  يدل الصفر الأول على رقم العنصر و هو في هذه الحالة 
{"Sheikh", "El Moctar"}
// و يدل الصفر الثاني على العنصر الفرعي داخل العنصر الأساسي و يكون 
//Sheikh
  // و هنا names[0][1]
// تدل على العنصر الأول من المصفوفة و العنصر الفرعي رقم واحد منها و هو يكون 
// El Moctar

//  و نتيجة الطباعة النهائية لجملة الطباعة هذه 
  System.out.println(names[0][0]+" "+names[0][1]);
// تكون  
Sheikh El Moctar
  
  // ولو قمنا بتغير العنصر ليصبح العنصر رقم 1  من المصفوفة بالشكال التالي : - 
  System.out.println(names[1][0]+" "+names[1][1]);
 // الناتج  

Bouna Ahmed

 

  • 0
نشر
بتاريخ 1 ساعة قال Mohammed Ahmed13:

وعليكم السلام أهلا بك،

هذا النوع من المصفوفات يعرف بالمصفوفة ذات البعدين، أي أن المصفوفة تحتوي على عدد من العناصر والتي بدورها هي مصفوفات أيضاً. ويمكن عمل مصفوفات بأبعاد متعددة حسب الحوجة.
لتحديد عنصر داخل مصفوفة متعددة الأبعاد (2×2) كالخاصة بك يجب عليك تحديد ترتيب المصفوفة الفرعية أولا (ترتيب المصفوفات يبدأ من الصفر) ومن ثم العنصر بداخلها ، للتوضيح:


// String[][] تعني أن المصفوفة تتكون من بعدين من السلاسل النصية
String[][] names = {{"Sheikh", "El Moctar"},{"Bouna", "Ahmed"}};

// تعني العنصر الأول في المصفوفة والذي هو مصفوفة بدوره
names[0] >>> {"Sheikh", "El Moctar"}

// تعني العنصر الأول داخل المصفوفة الفرعية الأولى
names[0][0] >>> "Sheick"
  
// تعني العنصر الثاني داخل المصفوفة الفرعية الأولى
names[0][1] >>> "El Moctar"

وبالتالي إخراج الكود الخاص بك سيكون بالشكل:


Sheikh El Moctar

 

انا الشئ لذي لم افهمه هو طريقة الاختيار مثلا 

  System.out.println(names[0][0]+" "+names[0][1]);

يعني كيف اعرف ل [] تبع اي واحد ؟

بتاريخ 1 ساعة قال ماجد قطوسة:

و عليكم السلام أخي الكريم . 
هذا النوع من المصفوفات يسمى المصفوفة ذو الإتجاهين  (2D array) - "Two-dimensional Arrays" و يتم تعريفها من خلال السطر التالي :- 


// تدل [] [] على انها مصفوفة ذو اتجاهين 
String[][] names ; 

// و هذه المصفوفة العادية بإتجاه واحد 
String[] names

بحيث تتميز هذا النوع  من المصفوفات بإحتوائها على قيمتين من نوع  string و في المثال الخاص بك يمكن أن تكون المصفوفة تحتوي على الاسم الأول و الاسم الأخير للمستخدم . 
 


// names 
// هو اسم المصفوفة 
// [] []  نوع المصفوفة 
// {"Sheikh", "El Moctar"}
// هنا عملية تعريف قيمة بداخل المصفوفة 

String[][] names = {{"Sheikh", "El Moctar"},{"Bouna", "Ahmed"}};


 


  System.out.println(names[0][0]+" "+names[0][1]);

// هنا عملية طباعة عناصر المصفوفة 
//بحيث 
// names[0][0]
//  يدل الصفر الأول على رقم العنصر و هو في هذه الحالة 
{"Sheikh", "El Moctar"}
// و يدل الصفر الثاني على العنصر الفرعي داخل العنصر الأساسي و يكون 
//Sheikh
  // و هنا names[0][1]
// تدل على العنصر الأول من المصفوفة و العنصر الفرعي رقم واحد منها و هو يكون 
// El Moctar

//  و نتيجة الطباعة النهائية لجملة الطباعة هذه 
  System.out.println(names[0][0]+" "+names[0][1]);
// تكون  
Sheikh El Moctar
  
  // ولو قمنا بتغير العنصر ليصبح العنصر رقم 1  من المصفوفة بالشكال التالي : - 
  System.out.println(names[1][0]+" "+names[1][1]);
 // الناتج  

Bouna Ahmed

 

اقتباس

 

هنا هو ما استشكل لي ولحد الان لم افهمه 

System.out.println(names[0][0]+" "+names[0][1]);

كيف اميز بينهم اذا ؟

  • 0
نشر
بتاريخ منذ ساعة مضت قال الشيخ المختار الشنقيطس:

انا الشئ لذي لم افهمه هو طريقة الاختيار مثلا 


  System.out.println(names[0][0]+" "+names[0][1]);

يعني كيف اعرف ل [] تبع اي واحد ؟

هنا هو ما استشكل لي ولحد الان لم افهمه 


System.out.println(names[0][0]+" "+names[0][1]);

كيف اميز بينهم اذا ؟

الموضوع بسيط أخي .  
أرفقت لك صورة تساعدك على الفهم 

Untitled.jpg

  • 0
نشر
بتاريخ 12 ساعات قال ماجد قطوسة:

الموضوع بسيط أخي .  
أرفقت لك صورة تساعدك على الفهم 

Untitled.jpg

الصورة معبرة، ولكن لا زلت المصفوفة الاخرى غير واصحة اقصد

{"Bouna", "Ahmed"}};

كيف اميزها عن الاخرى في الطباعة 

  • 1
نشر
بتاريخ 2 ساعات قال الشيخ المختار الشنقيطس:

الصورة معبرة، ولكن لا زلت المصفوفة الاخرى غير واصحة اقصد


{"Bouna", "Ahmed"}};

كيف اميزها عن الاخرى في الطباعة 

تحياتي لك  . 
يتم تميز العناصر في هذا النوع من المصفوفات بنائاً على الأرقام هنا [0] [0]  فالرقم الأول يدل على رقم  العنصر و الرقم الثاني يدل على العنصر الفرعي داخل هذا العنصر . 
مرفق صورة توضح  لك ذلك 
شكراً لك 

pp.png

  • 0
نشر
بتاريخ 3 ساعات قال ماجد قطوسة:

تحياتي لك  . 
يتم تميز العناصر في هذا النوع من المصفوفات بنائاً على الأرقام هنا [0] [0]  فالرقم الأول يدل على رقم  العنصر و الرقم الثاني يدل على العنصر الفرعي داخل هذا العنصر . 
مرفق صورة توضح  لك ذلك 
شكراً لك 

pp.png

رائع الان فهمتك، شكرا جزيلا على الشرح المميز 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...