4
respostas

Esta correto?


public class TesteIR {

    public static void main(String[] args) {

        double salario = 3300.0;

        if(salario > 1900.0 && salario <= 2800.0) {
            System.out.println("IR é de 7.5% e pode deduzir na declaração o valor de R$ 142");

        }else {
            if(salario > 2800.01 && salario <= 3751.0) {
                System.out.println("IR é de 15% e pode deduzir R$ 350");

            }else {
                if(salario > 3751.01 && salario <= 4664.00) {
                    System.out.println("IR é de 22.5% e pode deduzir R$ 636");

                }
            }

        }


    }
}
4 respostas

Acredito que seria interessante ter o fluxo para casos com salário menor que 1900.0 no seu exemplo.

Boa noite Raphael, o codigo possui alguns problemas , conforme mencionado no corpo do desafio para o salario maior ou igual a 1900 ele precisa cair na condição de que o IR é de 7.5% .

No codigo caso seja informado o valor de 1900 nada acontece , o mesmo problema volta acontecer quando os valores 2800.01 e 3751.01 são informados

  • 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

Uma outra duvida, da forma que esta sendo feito. Os valores que são debitados são estaticos? Quando na verdade quando voce trabalha é um proporcional ao valor total. Isso significa que existe uma variação pra mais ou pra menos em todos os casos e nao 132, 350, 656.

//Eu faria dessa maneira.

public class TesteIR {

public static void main(String[] args) {

    double salario = 3300.0;

    if(salario >= 1900.0 && salario <= 2800.0) {
   double desconto = salario*0.075;    
        System.out.println("IR é de 7.5% e pode deduzir na declaração o valor de R$  " + desconto);
}
     if(salario > 2800.01 && salario <= 3751.0) {
        double desconto = salario*0.15;
            System.out.println("IR é de 15% e pode deduzir R$  " + desconto);
}
     if(salario > 3751.01 && salario <= 4664.00) {
          double desconto = salario*0.225;
              System.out.println("IR é de 22.5% e pode deduzir R$ " + desconto);
}

/Mas pode ser que o desafio seja so fazer um print dos descontos informados/