مسیرها
/
Java
Java
/
تمرین‌ها
/
گزارش‌های مسابقه‌ی فوتبال
گزارش‌های مسابقه‌ی فوتبال

گزارش‌های مسابقه‌ی فوتبال

تمرین یادگیری

مقدمه

دستور switch

مانند یک دستور if/else، یک دستور switch به شما امکان می‌دهد جریان اجرای برنامه را با اجرای شرطی کد تغییر دهید. تفاوت این است که دستور switch فقط می‌تواند مقدار یک عبارت از نوع داده اولیه یا رشته‌ای را با مقادیر ثابت از پیش تعریف‌شده مقایسه کند.

برخی کلیدواژه‌ها هنگام استفاده از دستور switch مفیدند.

  • switch: این کلیدواژه به شما امکان می‌دهد ساختار switch را تعریف کنید. پس از آن، عبارت یا متغیری می‌آید که نتیجه را تغییر می‌دهد.
  • case: از این کلیدواژه برای تعریف حالت‌های مختلف ممکن برای نتیجه استفاده می‌کنید.
  • break: کلیدواژه‌ی break برای متوقف کردن اجرای switch در پایان جریان موردنظر بسیار مفید است. اگر آن را فراموش کنید، برنامه ادامه می‌یابد و ممکن است به نتایج غیرمنتظره‌ای منجر شود.
  • default: همان‌طور که از اسمش پیداست، از آن به‌عنوان نتیجه‌ی پیش‌فرض زمانی استفاده کنید که هیچ case دیگری با نتیجه‌ی عبارت شما مطابقت ندارد.

در ساده‌ترین حالت، یک عبارت از نوع داده اولیه یا رشته‌ای را آزمایش می‌کند و بر اساس مقدار آن تصمیم می‌گیرد. برای مثال:

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

دستورالعمل‌ها

شما در حال توسعه‌ی سیستمی هستید که به کارکنان وب‌سایت یک باشگاه فوتبال کمک می‌کند تا درباره‌ی مسابقه‌ها گزارش تهیه کنند. داده‌ها از منابع گوناگون دریافت می‌شوند و پس از پاک‌سازی، به یک جریان واحد هدایت می‌شوند.

1. توصیف بازیکنان را بر اساس شماره‌ی پیراهنشان خروجی بدهید

این تیم همیشه فقط با آرایش ۴-۳-۳ بازی می‌کند و هرگز با تغییر قوانین سال ۱۹۶۵ که تعویض را مجاز می‌کند موافق نبوده است، چه رسد به ترکیب‌های بزرگ‌تر.

توصیف بازیکنان به شرح زیر است:

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» برگرداند.

FootballMatchReports.onField(13);
// => "invalid"
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Java Exercism

آماده‌اید گزارش‌های مسابقه‌ی فوتبال را شروع کنید؟

در Exercism ثبت‌نام کنید تا Java را همراه با 26 مفهوم158 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.