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

Resolucao exercicio JAVA Alíquota com ifs

Eu ultilizei um codigo diferente do codigo apresentado na resolucao do curso ... Gostaria de saber se posso atuar nesse cenario desta maniera , ou se essa abordagem e erronia ou ineficaz!

Sobre o exercicio: O João gostaria de criar um programa sobre Imposto de Renda (IR) e verificou as regras de alíquota. Ele descobriu no site da receita: De 1900.0 até 2800.0, o IR é de 7.5% e pode deduzir na declaração o valor de R$ 142 De 2800.01 até 3751.0, o IR é de 15% e pode deduzir R$ 350 De 3751.01 até 4664.00, o IR é de 22.5% e pode deduzir R$ 636

MINHA RESOLUCAO


public class TestaCondicional2 {

    public static void main(String[] args) {

        double salario = 3300; // ALTERAR O VALOR PARA MUDAR A FAIXA DE ISENCAO
        boolean aliquota0 = salario <= 1900.00 && salario != 0;
        boolean aliquota1 = salario >= 1900.00 && salario <= 2800.00;
        boolean aliquota2 = salario >= 2800.01 && salario <= 3751.00;
        boolean aliquota3 = salario >= 3751.01 && salario <= 4664.00;

        if(aliquota0) {
            System.out.println("Voce esta isento de IR!");
        }else {
            if(aliquota1) {
                System.out.println("IR é de 7.5% e pode deduzir na declaração o valor de R$ 142");
            }else {
                if(aliquota2) {
                    System.out.println("IR é de 15% e pode deduzir na declaração o valor de R$ 350");
                }else {
                    if(aliquota3) {
                        System.out.println("IR é de 22.5% e pode deduzir na declaração o valor deR$ 636");
                    }
                }
            }
        }

    }
}

RESOLUCAO DO CURSO

public class TesteIR2 {

    public static void main(String[] args) {

        // De 1900.0 até 2800.0 o IR é de 7.5% e pode deduzir R$ 142
        // De 2800.01 até 3751.0 o IR é de 15% e pode deduzir R$ 350
        // De 3751.01 até 4664.00 o IR é de 22.5% e pode deduzir R$ 636

        double salario = 3300.0;

        if(salario >= 1900.0 && salario <= 2800.0) {
            System.out.println("A sua aliquota é de 7,5%");
            System.out.println("Você pode deduzir até R$ 142");
        } else if(salario >= 2800.01 && salario <= 3751.0) {
            System.out.println("A sua aliquota é de 15%");
            System.out.println("Você pode deduzir até R$ 350");
        } else if(salario >= 3751.01 && salario <= 4664.0) {
            System.out.println("A sua aliquota é de 22.5%");
            System.out.println("Você pode deduzir até R$ 636");
        }
    }
}
1 resposta
solução!

A abordagem que você utilizou no código está correta para verificar a faixa de isenção do Imposto de Renda e aplicar as alíquotas correspondentes. No contexto do exercício proposto, essa solução atende aos requisitos e apresenta a lógica esperada. O código utiliza variáveis booleanas para representar as diferentes faixas de salário e, em seguida, utiliza estruturas condicionais if-else para imprimir a mensagem correspondente a cada faixa. No entanto, é importante notar que esse código tem uma estrutura aninhada de if-else, o que pode tornar o código um pouco mais complexo de ler e manter. Em casos mais complexos, recomenda-se considerar o uso de estruturas alternativas, como switch-case, para melhorar a legibilidade do código. No geral, sua solução está correta para o exercício proposto, e você pode prosseguir com ela.