مسیرها
/
Java
Java
/
تمرین‌ها
/
محاسبه‌گر حقوق
محاسبه‌گر حقوق

محاسبه‌گر حقوق

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

مقدمه

عملگر سه‌تایی

«عملگر سه‌تایی» جایگزینی سبک و فشرده برای دستورهای ساده‌ی if/else است. معمولاً در دستورهای return استفاده می‌شود (اما محدود به آن‌ها نیست) و فقط یک خط برای تصمیم‌گیری لازم دارد: اگر عبارت true باشد مقدار سمت چپ و اگر false باشد مقدار سمت راست را برمی‌گرداند، به‌صورت زیر:

boolean expr = 0 != 200;

// Ternary statement
int value = expr ? 22 : 33;
// => 22

بسیاری از عبارت‌های ساده‌ی if/else را می‌توان با عملگر سه‌تایی ساده کرد.

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

در این تمرین، قوانینی را برای محاسبه‌ی مجموع حقوق یک کارمند در یک ماه پیاده‌سازی می‌کنید. شرکت بین‌المللی سیدرورژی (ISC) برای محاسبه‌ی حقوق کارکنان به کمک نیاز دارد و باید عوامل مختلفی را که می‌توانند بر دستمزد نهایی اثر بگذارند، در نظر بگیرد.

شما ۳ کار پیش رو دارید و برای پیاده‌سازی آن‌ها باید به‌جای دستورهای if/else از «عملگر سه‌گانه» استفاده کنید.

1. ضریب حقوق را تعیین کنید

متد salaryMultiplier را پیاده‌سازی کنید که ضریب حقوق را بر اساس تعداد روزهایی که کارمند از کار غیبت کرده، برمی‌گرداند. اگر کارمند حداقل ۵ روز غیبت کرده باشد، ۱۵٪ جریمه اعمال کنید.

int daysSkipped = 3;
salaryMultiplier(daysSkipped);
// => 1.0

daysSkipped = 7;
salaryMultiplier(daysSkipped);
// => 0.85

2. پاداش محصولات فروخته‌شده را محاسبه کنید

متدهای bonusMultiplier و bonusForProductsSold را پیاده‌سازی کنید. شرکت ISC برای هر محصول فروخته‌شده ۱۰ واحد پولی می‌پردازد و اگر کارمند ۲۰ محصول یا بیشتر بفروشد، ضریب به ۱۳ افزایش می‌یابد. متد bonusMultiplier باید تعیین کند که کدام ضریب اعمال شود و متد bonusForProductSold باید مجموع پاداش را بر حسب واحد پولی برگرداند.

int productsSold = 21;
bonusMultiplier(productsSold);
// => 13
bonusForProductsSold(productsSold);
// => 273

productsSold = 5;
bonusMultiplier(productsSold);
// => 10
bonusForProductsSold(productsSold);
// => 50

3. حقوق نهایی کارمند را محاسبه کنید

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

int daysSkipped = 2;
int productsSold = 3;
finalSalary(daysSkipped, productsSold);
// => 1030.00

productsSold = 90;
finalSalary(daysSkipped, productsSold);
// => 2000.00
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Java Exercism

آماده‌اید محاسبه‌گر حقوق را شروع کنید؟

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