El operador ternario es una alternativa ligera y compacta para instrucciones if/else simples. Normalmente se usa en instrucciones return (aunque no solo en ellas), y basta con una sola línea para tomar la decisión: devuelve el valor de la izquierda si la expresión es true y el valor de la derecha si es false, de la siguiente manera:
boolean expr = 0 != 200;
// Ternary statement
int value = expr ? 22 : 33;
// => 22
Muchas expresiones if/else simples se pueden simplificar con operadores ternarios.
En este ejercicio vas a implementar las reglas para calcular el salario total de un empleado en un mes. La International Siderurgy Company (ISC) necesita ayuda para calcular los salarios de sus empleados, teniendo en cuenta diversos factores que pueden afectar al salario final.
Tienes tres tareas y, para implementarlas, debes usar el operador ternario en lugar de instrucciones if/else.
Implementa el método salaryMultiplier, que devuelve el multiplicador del salario en función del número de días que un empleado faltó al trabajo.
Aplica una penalización del 15% si el empleado faltó al trabajo al menos cinco días.
int daysSkipped = 3;
salaryMultiplier(daysSkipped);
// => 1.0
daysSkipped = 7;
salaryMultiplier(daysSkipped);
// => 0.85
Implementa los métodos bonusMultiplier y bonusForProductsSold.
La ISC paga diez unidades monetarias por cada producto vendido y, si un empleado vende veinte productos o más, el multiplicador sube a trece.
bonusMultiplier debe determinar qué multiplicador aplicar, y bonusForProductSold debe devolver la bonificación total en unidades monetarias.
int productsSold = 21;
bonusMultiplier(productsSold);
// => 13
bonusForProductsSold(productsSold);
// => 273
productsSold = 5;
bonusMultiplier(productsSold);
// => 10
bonusForProductsSold(productsSold);
// => 50
Implementa el método finalSalary.
Debe multiplicar el salario base de 1000.00 por el multiplicador del salario, sumar la bonificación y devolver el resultado.
Sin embargo, el salario no puede superar los 2000.00.
int daysSkipped = 2;
int productsSold = 3;
finalSalary(daysSkipped, productsSold);
// => 1030.00
productsSold = 90;
finalSalary(daysSkipped, productsSold);
// => 2000.00
Regístrate en Exercism para aprender y dominar Java con 26 conceptos158 ejercicios y mentoría humana real, todo gratis.