Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Meu exercício: Alíquota com if's

Fala galera! Tentei fazer o exercício de IR e resultou nesse código, a princípio funcional.

Mesmo aparentemente funcionando, ainda deveria usar o else entre os if's?


public class TesteIR {

    public static void main(String[] args) {

        System.out.println("Valores de tabela meramente ilustrativos");

        double aliquota;
        double impostoRenda;
        String textoA = "A aliquota é de ";
        String textoB = "%, o que deduz o valor de R$";
        String textoC = " para o Imposto de Renda";

        double salario = 4664.01;

        if (salario < 1900.0) {

            System.out.println("Este valor é isento de pagar o Imposto de Renda.");

        }

        if (salario >= 1900.0 && salario <= 2800.0) {
            aliquota = 7.5;
            impostoRenda = 142.0;

            System.out.println(textoA + aliquota + textoB + impostoRenda + textoC);

        }

        if (salario >= 2800.01 && salario <= 3751.0) {
            aliquota = 15;
            impostoRenda = 350.0;

            System.out.println(textoA + aliquota + textoB + impostoRenda + textoC);

        }

        if (salario >= 3751.01 && salario <= 4664) {
            aliquota = 22.5;
            impostoRenda = 636;

            System.out.println(textoA + aliquota + textoB + impostoRenda + textoC);

        }

        if (salario > 4664.0) {

            System.out.println("O valor excede os registros computados em tabela. Consulte o Site da receita.");
        }
    }

}
1 resposta
solução!

Oi Giulivan

O legal de ter o else é que se algum if anterior der true os demais não serão nem sequer avaliados, o que permite que a execução possa ser mais performática. Mas do jeito que você fez não está errado :)