1
resposta

Verificando se o valor do desconto também está dentro do limite


public class IRenda {

    public static void main(String[] args) {
        double salario = 3300.0;
        double calcDesconto = 0;
        double salarioLiq = 0;

        if (salario >= 1900.0 && salario <= 2800.0) {

            calcDesconto = (salario * 7.5/100);
            if (calcDesconto > 142) {
                calcDesconto = 142;
            }
            salarioLiq = salario - calcDesconto;
            System.out.println("O desconto foi de R$ " + calcDesconto + ", salário líquido de R$ " + salarioLiq);
        }
        if (salario >= 1900.1 && salario <= 3751.0){

            calcDesconto =  (salario * 15/100);
            if (calcDesconto > 350) {
                calcDesconto = 350;
            } 
            salarioLiq = salario - calcDesconto;
            System.out.println("O desconto foi de R$ " + calcDesconto + ", salário líquido de R$ " + salarioLiq);
        }
        if (salario >= 3751.01 && salario <= 4664.00){
            calcDesconto = (salario * 22.5/100);
                if (calcDesconto > 636) {
                    calcDesconto = 636;
                } 
            salarioLiq = salario - calcDesconto;
            System.out.println("O desconto foi de R$ " + calcDesconto + ", salário líquido de R$ " + salarioLiq);
        }

    }

}
1 resposta

Olá Tatiana, tudo bem com você?

Você fez um bom uso das variáveis armazenando os resultados dos cálculos para facilitar a impressão de cada valor. Só um ponto que não ficou muito claro pra mim foi o uso ifs que atribuem os valores das deduções ao calcDesconto. Portanto, a única mudança que eu faria é substituir essas condições por algo como:

calcDesconto = (salario * 7.5 / 100) - 142;
salarioLiq = salario - calcDesconto;
System.out.println("O desconto foi de R$ " + calcDesconto + ", salário líquido de R$ " + salarioLiq);

Faz sentido? De resto, continue assim, está de parabéns! ;)