Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Como faço para que somente uma condição apareça em Console?

Quando eu peço p/ o Java rodar o código, ele não deveria aparecer somente a mensagem do segundo if? "O IR é de 15%, a declaração é no valor de R$350,00." já que a variável atribuída no exercício é 3300.0 ? Quando eu rodo, em Console aparecem todos os "if"s q coloquei:

  • O IR é 7,5%, a declaração é no valor de R$142,00.
  • O IR é de 15%, a declaração é no valor de R$350,00.
  • O IR é 22,5%, a declaração é no valor de R$636,00.

O que eu devo fazer para aparecer somente o segundo if?

Meu código:

public class ExercicioAliquota {

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


        if (salario>1900.0 || salario<=2800.0) {
            System.out.println("O IR é 7,5%, a declaração é no valor de R$142,00.");
        }

        if (salario>=2800.01 || salario<=3751.0) {
                System.out.println("O IR é de 15%, a declaração é no valor de R$350,00.");
        }

        if (salario>3751.01 || salario<=4664.0) {
                    System.out.println("O IR é  22,5%, a declaração é no valor de R$636,00.");
        }
}

}

3 respostas
solução!

A condicional que está usando está incorreta. || representa "ou", logo todas as condições se tornam válidas.

O correto seria utilizar &&, que representaria "e", assim somente a segunda condição seria válida.

Dessa maneira:

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


        if (salario>1900.0 && salario<=2800.0) {
            System.out.println("O IR é 7,5%, a declaração é no valor de R$142,00.");
        }

        if (salario>=2800.01 && salario<=3751.0) {
                System.out.println("O IR é de 15%, a declaração é no valor de R$350,00.");
        }

        if (salario>3751.01 && salario<=4664.0) {
                    System.out.println("O IR é  22,5%, a declaração é no valor de R$636,00.");
        }
}

AAAH!! A condição estava errada! Não percebi que o || implica que as duas condições do If devem ser verdadeiras. Testei com && e deu certo, obrigada!!

Ótimo!