1
resposta

Desafio IR

Olá, pessoal. Cheguei a essa solução:

    if (salario < 1900.0) {
        System.out.println("O salario informado é de: " + salario + " E você está isento de IR.");
    } else if (salario >= 1900.0 && salario <= 2800.0) {
        System.out.println("O salario informado é de: " + salario
                + ", o IR é de 7.5% e pode deduzir na declaração o valor de R$ 142.00");
    } else if (salario >= 2800.1 && salario <= 3751.0) {
        System.out.println("O salario informado é de: " + salario
                + ", o IR é de 15% e pode deduzir na declaração o valor de R$ 350.00");
    } else if (salario >= 3751.1 && salario <= 4664.0) {
        System.out.println("O salario informado é de: " + salario
                + ", o IR é de 22.5% e pode deduzir na declaração o valor de R$ 636.00");
    } else if (salario > 4664.0) {
        System.out.println("O salario informado é de: " + salario
                + ", o salario informado está acima das instruções de valor do IR.");
    }

Alguma opinião sobre?

1 resposta

Inicialmente fiz da mesma forma, mas não gostei de imprimir o resultado a cada if e criei mais variáveis para fazer a substituição dos valores. Apenas uma alternativa.

        double salario = 5000.0;
        double ir1 = 7.5;
        double ir2 = 15.0;
        double ir3 = 22.5;
        double deducao1 = 142.0;
        double deducao2 = 350.0;
        double deducao3 = 636.0;
        double ir = 0.0;
        double deducao = 0.0;
        boolean valorAlto = false;
        boolean valorBaixo = false;

        if (salario >= 1900.0 && salario <= 2800.0) {
            ir = ir1;
            deducao = deducao1;

        }else if (salario > 2800.0 && salario <= 3751.0) {
            ir = ir2;
            deducao = deducao2;

        }else if (salario > 3751.0 && salario <= 4664.0) {
            ir = ir3;
            deducao = deducao3;

        }else if (salario > 4664.0) {
            valorAlto = true;

        }else if (salario < 1900.0) {
            valorBaixo = true;
        }


        if (valorAlto) {
            System.out.println("O salário informado está acima das instruções da DIR.");

        } else if (valorBaixo) {
            System.out.println("O salário informado está abaixo das instruções da DIR.");

        } else {
            System.out.println("O IR é de " + ir + "% e pode deduzir na declaração o valor de R$" + deducao + "0");
        }