مسیرها
/
Java
Java
/
تمرین‌ها
/
تیم از بازاریابی
تیم از بازاریابی

تیم از بازاریابی

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

مقدمه

nullپذیری

در Java، از مقدار ثابت null برای نشان دادن نبودِ یک مقدار استفاده می‌شود.

انواع داده‌ی اولیه در Java همه مقدار پیش‌فرض دارند و بنابراین هرگز نمی‌توانند null باشند. طبق قرارداد، با حرف کوچک شروع می‌شوند، مثلاً int.

انواع ارجاعی حاوی نشانی حافظه‌ی یک شیء هستند و می‌توانند مقدار null داشته باشند. آن‌ها معمولاً با حرف بزرگ شروع می‌شوند، مثلاً String.

اگر بخواهید به یک متغیر اولیه مقدار null اختصاص دهید، خطای زمان کامپایل رخ می‌دهد، چون متغیر همیشه مقداری اولیه از نوعی را نگه می‌دارد که به آن اختصاص داده شده است.

//Throws compile time error stating the required type is int, but null was provided
int number = null;

اختصاص دادن مقدار null به یک متغیر ارجاعی منجر به خطای زمان کامپایل نمی‌شود، چون متغیرهای ارجاعی nullپذیر هستند.

//No error will occur as the String variable str is nullable
String str = null;

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

در این تمرین کدی می‌نویسید که برچسب اسم کارکنان کارخانه را چاپ می‌کند.

1. چاپ برچسب برای یک کارمند

هر کارمند یک ID، یک اسم و یک بخش دارد. برچسب کارکنان به این شکل قالب‌بندی می‌شود: "[id] - name - DEPARTMENT". متد Badge.print() را طوری پیاده‌سازی کنید که برچسب کارمند را برگرداند:

Badge badge = new Badge();
badge.print(734, "Ernest Johnny Payne", "Strategic Communication");
// => "[734] - Ernest Johnny Payne - STRATEGIC COMMUNICATION"

توجه کنید که نام بخش روی برچسب باید با حروف بزرگ نوشته شود.

2. چاپ برچسب برای کارمند جدید

به دلیل یک نکته‌ی عجیب در سیستم کامپیوتری، کارمندان جدید گاهی هنگام شروع کار در کارخانه هنوز ID ندارند. از آنجا که برچسب الزامی است، یک برچسب موقت بدون پیشوند ID دریافت می‌کنند. متد Badge.print() را تغییر دهید تا از کارمندان جدیدی که هنوز ID ندارند پشتیبانی کند:

Badge badge = new Badge();
Badge.print(null, "Jane Johnson", "Procurement");
// => "Jane Johnson - PROCUREMENT"

3. چاپ برچسب برای مالک

حتی مالک کارخانه هم باید همیشه برچسب بزند. اما مالک بخشی ندارد. در این حالت، برچسب باید به جای نام بخش، "OWNER" را چاپ کند. متد Badge.print() را تغییر دهید تا برچسب مالک را چاپ کند:

Badge badge = new Badge();
badge.print(254, "Charlotte Hale", null);
// => "[254] - Charlotte Hale - OWNER"

توجه کنید که ممکن است مالک همزمان کارمند جدید هم باشد:

Badge badge = new Badge();
badge.print(null, "Charlotte Hale", null);
// => "Charlotte Hale - OWNER"
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Java Exercism

آماده‌اید تیم از بازاریابی را شروع کنید؟

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