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

Duvida: If não está funcionando

insira seu código aqui

insira seu código aqui

public class testandoSalario {
    public static void main(String[] args) {

        double salario = 4000;

        if (salario >= 1900 && salario <= 2800) {
            System.out.println("O imposto é de 7.5%");
            System.out.println("Pode ser deduzido R$142,00");
        }
        if (salario >= 2800.01 && salario <= 3751) {
            System.out.println("O imposto é de 15%");
            System.out.println("Pode ser deduzido R%350,00");
        }
        if (salario >= 3751.01 && salario <= 4.664) {
            System.out.println("O imposto é de 22.5%");
            System.out.println("Pode ser deduzido R$636,00");
        } else {
            if (salario < 1900.0) {
                System.out.println("Não precisa deduzir IRPF");
            }
        }
    }
}
5 respostas

Pessoal, o meu penúltimo if não está funcionando e eu não consigo encontrar o erro, não sei se é erro de compilação ou se foi erro de lógica, alguém poderia me ajudar ? O engraçado é que os de mais estão funcionando normalmente de acordo com a regra que foi passada no execício.

solução!

Acredito que seja erro de logica, se vc retirar o 4.664 e colocar sem o ponto o código vai funcionar

Tem esse errinho ai mesmo, mas eu fiz a alteração e mesmo assim não está voltando o resultado esperado. :(

a condição está entrando no penúltimo IF (está correto) O imposto é de 22.5% Pode ser deduzido R$636,00

, Qual o resultado que aparece pra vc?

Oi Álvaro, tudo bem?

Como o Paulo falou, o que acontece é que dentro do if(salario >= 3751.01 && salario <= 4.664) {, o ponto está logo depois do 4 e isso faz com que a comparação dê errado. Mas em relação ao resultado esperado, qual seria ele e o que aparece no lugar dele?

Fico à sua disposição.