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

Quero saber como melhorar.

Qualquer coisa já ajuda.

public class TesteIR2 {

public static void main(String[] args) {

    double salario = 3300.0;

    boolean imposto1 = salario >= 1900.00 && salario <= 2800;
    boolean imposto2 = salario > 2800.00 && salario <= 3751;
    boolean imposto3 = salario > 3751.00 && salario <= 4664;

    if (imposto1) {
        System.out.println("o IR é de 7.5% e pode deduzir na declaração o valor de R$ 142");
    } else {
        if (imposto2) {
            System.out.println("o IR é de 15% e pode deduzir R$ 350");
        } else {
            if (imposto3) {
                System.out.println("o IR é de 22.5% e pode deduzir R$ 636");
            }
        }
    }

}

}

2 respostas
solução!

Oi Luiz, tudo bem?

Eu só mudaria esse encadeamento de ifs e elses por else if para ficar mais claro de ler:

if (imposto1) {
    System.out.println("o IR é de 7.5% e pode deduzir na declaração o valor de R$ 142");
} else if (imposto2) {
    System.out.println("o IR é de 15% e pode deduzir R$ 350");
} else if (imposto3) {
    System.out.println("o IR é de 22.5% e pode deduzir R$ 636");
}

Tirando isso, a lógica do seu código está ótima!

Bons estudos!!

Removido a pedido do usuario.