3
respostas

dúvida

Olá, nao consegui identificar o porquê o meu codigo, independente do salario que eu coloco ele nunca passa do primeiro if;

package sintaxe_variaveis_e_fluxo;

public class TestandoImpostoRenda {
    public static void main(String[] args) {
        double salario = 3300.0;

        if (salario >= 1900.0 || salario <= 2800.0) {
            System.out.println("O IR é de 7.5% e pode deduzir na declaração o valor de R$ 142,00 reais.");
        } else if (salario >= 2800.01 || salario <= 3751.0) {
            System.out.println("O IR é de 15% e pode deduzir na declaração o valor de R$ 350 reis.");
        } else if (salario >= 3751.01 || salario <= 4664.0) {
            System.out.println("O IR é de 22.5% e pode deduzir na declaração o valor de R$ 636 reais.");

        }
    }
}
3 respostas

Na verdade, eu usei o operador lógico errado, seria o &&.

O operador || é para casos de um OU outro, como qualquer salário que você por vai ser maior ou igual a 1900 ou(||) menor ou igual a 2800 dá nisso, só substituir pelo operador && que vai resolver

Muito obrigado pela dica.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software