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

Código do exercício.

public class TesteIR {

public static void main(String[] args) {

    double salario = 4664.1;

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

    } else {
        if (salario >= 2800.01 && salario <= 3751){
        System.out.println("o IR é de 15% e pode deduzir R$ 350");
        } else {
            if (salario >=3751.01 && salario <= 4664) {
            System.out.println("o IR é de 22.5% e pode deduzir R$ 636");
            } else {
                if (salario < 1900) {
                    System.out.println("Não é necessário declarar");
                } else {
                    if (salario > 4664) {
                        System.out.println("Regras diferenciadas para esta renda. Consulte um contador especializado.");
                    }
                }
            }
        }
    }
}

}

3 respostas
solução!

Fala, Bryan!

Nesse teu código, quando o salário for menor que 1.900, ele não vai entrar no if nem vai exibir a mensagem "Não é necessário declarar", pois ele só entra nesse trecho quando o salário é maior ou igual a 3751,01 e menor ou igual a 4664,00.

Uma sugestão é você não colocar os ifs aninhados (um dentro do outro), assim, garante que a aplicação vai passar por todos eles.

Qualquer dúvida, só postar. Abraço.

Poxa, foi bisonhada minha rss. Questão apenas de fazer o teste corretamente para ver. Obrigado pela dica e pela correção.

Acontece... hehe.

Qualquer coisa, estamos por aqui.

Abraço!

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