Percursos
/
Java
Java
/
Exercícios
/
Calculadora de salários
Calculadora de salários

Calculadora de salários

Exercício de aprendizagem

Introdução

Operadores ternários

O operador ternário é uma alternativa leve e compacta às condicionais if/else simples. Normalmente usado em instruções de retorno (mas não só), basta-lhe uma única linha para tomar a decisão: devolve o valor da esquerda se a expressão for true e o valor da direita se for false, como se segue:

boolean expr = 0 != 200;

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

Muitas expressões if/else simples podem ser simplificadas com operadores ternários.

Instruções

Neste exercício, vais implementar regras para calcular o salário total de um funcionário num mês. A International Siderurgy Company (ISC) precisa de ajuda para calcular os salários dos funcionários, tendo em conta vários fatores que podem influenciar o salário final.

Tens três tarefas e deves usar o operador ternário em vez de instruções if/else para as implementar.

1. Determina o multiplicador do salário

Implementa o método salaryMultiplier, que devolve o multiplicador do salário com base no número de dias que um funcionário faltou ao trabalho. Aplica uma penalização de 15% se o funcionário faltou pelo menos cinco dias.

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

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

2. Calcula o bónus pelos produtos vendidos

Implementa os métodos bonusMultiplier e bonusForProductsSold. A ISC paga dez unidades monetárias por cada produto vendido e, se um funcionário vender vinte produtos ou mais, o multiplicador sobe para treze. O bonusMultiplier deve determinar qual o multiplicador a aplicar, e o bonusForProductSold deve devolver o bónus total em unidades monetárias.

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

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

3. Calcula o salário final do funcionário

Implementa o método finalSalary. Deve multiplicar o salário base de 1000.00 pelo multiplicador do salário, somar o bónus e devolver o resultado. No entanto, os salários devem ter um limite máximo de 2000.00.

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

productsSold = 90;
finalSalary(daysSkipped, productsSold);
// => 2000.00
Editar via GitHub A ligação abre numa nova janela ou separador
Java Exercism

Estás pronto para começar Calculadora de salários?

Inscreve-te no Exercism para aprenderes e dominares Java com 26 conceitos158 exercícios, e mentoria humana real, tudo grátis.