Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Calculo IR

Aqui esta meu código. Optei por fazer o calculo a partir da taxa em cada caso. Coloquei o print por ultimo para que ele imprimisse após varrer as condicionais. Gostaria de saber se a logica esta correta e se essa e uma solução possível!? Postei pois a solução ficou bem diferente da do instrutor!

` public class TesteIR {

public static void main(String[] args) {

    double salario = 3300.0; 

    if (salario >= 1900 && salario <= 2800) {

        salario = salario -  (salario * 0.075) + 142;  

    } else {

        if (salario > 2800 && salario <= 3751) {

            salario = salario - (salario * 0.15) + 350; 

        } else { 

            if (salario > 3751 && salario <= 4664) {

                salario = salario - (salario * 0.225) + 636;
            }

        }

    }

    System.out.println("Seu salario liquido e " + salario);

}

}

2 respostas
solução!

Perfeito, Caio! A lógica está correta, eu só recomendo usar o comando else if no lugar desses elses e ifs que estão um dentro do outro para facilitar a leitura:

public class TesteIR {

    public static void main(String[] args) {

        double salario = 3300.0;

        if (salario >= 1900.0 && salario <= 2800.0) {
            salario = salario -  (salario * 0.075) + 142; 

        } else if (salario >= 2800.01 && salario <= 3751.0) {
            salario = salario - (salario * 0.15) + 350; 

        } else if (salario >= 3751.01 && salario <= 4664.00) {
            salario = salario - (salario * 0.225) + 636;

        }

        System.out.println("Seu salario liquido e " + salario);
    }
}

De resto, está ótimo! :)

Se tiver qualquer dúvida, estou à disposição! Forte abraço e bons estudos!!

Boa Thiago!

Muito obrigado pela resposta!

Percebi isso depois que enviei.