المسارات
/
Java
Java
/
التمارين
/
تقارير مباريات كرة القدم
تقارير مباريات كرة القدم

تقارير مباريات كرة القدم

تمرين تعلّمي

مقدمة

جملة switch

مثل جملة if/else، تتيح لك جملة switch تغيير مسار تنفيذ البرنامج عبر تنفيذ الكود بشكل شرطي. الفرق أن جملة switch لا يمكنها إلا مقارنة قيمة تعبير من نوع أولي أو من نوع سلسلة نصية بقيم ثابتة معرّفة مسبقًا.

هناك بعض الكلمات المفتاحية المفيدة عند استخدام جملة switch.

  • switch: تتيح لك هذه الكلمة المفتاحية الإعلان عن بنية جملة switch. ويأتي بعدها التعبير أو المتغير الذي سيغيّر النتيجة.
  • case: ستستخدم هذه الكلمة المفتاحية للإعلان عن الاحتمالات المختلفة للنتيجة.
  • break: الكلمة المفتاحية break مفيدة جدًا لإيقاف تنفيذ جملة switch عند نهاية المسار المطلوب. وإذا نسيتها، فسيستمر البرنامج وقد يؤدي ذلك إلى نتائج غير متوقعة.
  • default: كما يوحي اسمها، استخدمها كنتيجة افتراضية عندما لا تطابق أي حالة أخرى نتيجة تعبيرك.

في أبسط صورها، تختبر جملة switch تعبيرًا أوليًا أو نصيًا وتتخذ قرارًا بناءً على قيمته. على سبيل المثال:

String direction = getDirection();
switch (direction) {
    case "left":
        goLeft();
        break;
    case "right":
        goRight();
        break;
    default:
        // otherwise
        markTime();
        break;
}

التعليمات

أنت تطوّر نظامًا يساعد العاملين على موقع نادٍ لكرة القدم في إعداد تقارير عن المباريات. تصل البيانات من مصادر مختلفة وتُوجَّه إلى مجرى واحد بعد تنظيفها.

1. أخرِج أوصاف اللاعبين بناءً على رقم قميصهم

الفريق لا يلعب إلا بتشكيلة 4-3-3، ولم يوافق قط على تغيير قواعد عام 1965 الذي يسمح بالتبديلات، فضلًا عن توسيع قائمة اللاعبين.

أوصاف اللاعبين كما يلي:

1 -> "goalie"
2 -> "left back"
3 & 4 "center back"
5 -> "right back"
6, 7, & 8 -> "midfielder"
9 -> "left wing"
10 -> "striker"
11 -> "right wing"

نفّذ الطريقة الساكنة FootballMatchReports.onField() لإخراج وصف اللاعب بناءً على رقم قميصه.

FootballMatchReports.onField(10);
// => "striker"

2. أخرِج "invalid" إذا لم يكن رقم القميص ضمن القائمة الرسمية

عدّل الطريقة FootballMatchReports.onField() لتُرجع 'invalid' عندما يُعالَج رقم قميص خارج النطاق 1-11.

FootballMatchReports.onField(13);
// => "invalid"
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Java Exercism

مستعد لبدء تقارير مباريات كرة القدم؟

سجّل في Exercism لتتعلّم وتتقن Java عبر 26 مفهومًا158 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.