Треки
/
Java
Java
/
Вправи
/
Калькулятор зарплати
Калькулятор зарплати

Калькулятор зарплати

Навчальна вправа

Вступ

Тернарні оператори

Тернарний оператор дає легку, компактну альтернативу простим умовним конструкціям if/else. Зазвичай його використовують в інструкціях повернення (але не тільки в них); йому потрібен лише один рядок, щоб зробити вибір: повернути ліве значення, якщо вираз дорівнює true, і праве, якщо false, ось так:

boolean expr = 0 != 200;

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

Багато простих виразів if/else можна спростити за допомогою тернарних операторів.

Вказівки

У цій вправі ми реалізуємо правила обчислення загальної зарплати працівника за місяць. Міжнародна металургійна компанія (ISC) потребує допомоги в обчисленні зарплат працівників, з огляду на різні чинники, які можуть впливати на підсумкову зарплату.

У нас є три завдання, і для їх виконання ми маємо застосувати тернарний оператор, а не конструкції if/else.

1. Визначте множник зарплати

Реалізуйте метод salaryMultiplier, який повертає множник зарплати залежно від кількості днів, які працівник пропустив. Якщо працівник пропустив щонайменше пʼять днів, застосуйте 15% штраф.

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 вправ та справжнє наставництво від людей, і все це безкоштовно.