الحلقات المتداخلة
جزء من قسم الأساسيات في رحلة Java على Coddy. الدرس 48 من 73.
الحلقة المتداخلة هي ببساطة حلقة داخل حلقة أخرى. ستُكمل الحلقة الداخلية جميع تكراراتها في كل تكرار منفرد للحلقة الخارجية.
من الأمثلة التوضيحية الجيدة على ذلك الساعة: فلكل ساعة (حلقة خارجية)، يجب أن يُكمل عقرب الدقائق (الحلقة الداخلية) دورته الكاملة التي تستغرق 60 دقيقة.
مثال على حلقة متداخلة:
int rows = 2;
int cols = 2;
for (int x = 0; x < rows; x++) {
for (int y = 0; y < cols; y++) {
System.out.println(x + " " + y);
}
}
// سيكون الناتج:
// 0 0
// 0 1
// 1 0
// 1 1تتكرر الحلقة الخارجية (x) عددًا من المرات يساوي rows، وفي كل مرة من تلك المرات، تتكرر الحلقة الداخلية (y) عددًا من المرات يساوي cols. لكل حلقة عدّادها الخاص: يبدأ y من جديد من 0 في كل مرة تتكرر فيها الحلقة الخارجية، بينما تظل rows وcols كما هما، ولا تحددان إلا متى تتوقف الحلقات.
التحدي
مبتدئاكتب برنامجًا يطبع مستطيلًا من علامات النجمة (*) بعرض وارتفاع محددين.
الإدخال: عددان صحيحان: width وheight
على سبيل المثال:
إذا كان width = 5 وheight = 3، فيجب أن يكون الناتج:
*****
*****
*****إذا كان width = 4 وheight = 6، فيجب أن يكون الناتج:
****
****
****
****
****
****استخدم عدّادًا جديدًا لكل حلقة (على سبيل المثال، i للصفوف وj للنجوم في الصف) وقارنه بـ height أو width. لا تغيّر height وwidth نفسيهما: يحتاج كل صف إلى width من جديد.
جرّب بنفسك
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int width = scanner.nextInt();
int height = scanner.nextInt();
// اكتب الكود الخاص بك أدناه
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
دوال System.outتنسيق المخرجاتكلاس Scannerمراجعة - حتى 120مراجعة - صح أم خطأ5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع3المتغيرات - الجزء الثاني
الثوابتقواعد التسميةمراجعة - تهيئة المتغيراتتحويل الأنواع - الجزء الأولتحويل الأنواع - الجزء الثاني6اتخاذ القرار
جملة Ifجملة If - Elseجملة Switchالمعامل الثلاثيمراجعة - If Elseجملة If - Else المتداخلة9الحلقات التكرارية
حلقة For - الجزء الأولحلقة Whileحلقة Do WhileBreakContinueحلقة For - الجزء الثانيالحلقات المتداخلةالحلقة اللانهائيةمراجعة - المدخلات الديناميكيةتدرّب بنفسك: مترجم Java عبر الإنترنت