Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Consegui.

Bom galera, Depois de pensar um pouquinho e escrever um código nada a ver, tomei um copo de agua e me veio assim na cabeça. Funcionou, é simples e espero ajudar!!! Abraço!

public class TesteIR { public static void main(String[] args) {

    double salario = 4500.0;
    double restituicao;

    if (salario < 1900.00){
        System.out.println("Você está isento de declaração");
    }
    if (salario >= 1900.0 && salario <= 2800.0){
        restituicao = 142.00;
        System.out.println("Sua restituição será de " + restituicao + " Reais");
    }
    if (salario >= 2800.01 && salario <= 3751.00){
        restituicao = 350.00;
        System.out.println("Sua restituição será de " + restituicao + " Reais");
    }
    if (salario >= 3751.01 && salario <= 4664.00){
        restituicao = 636.00;
        System.out.println("Sua restituição será de " + restituicao + " Reais");
    }
}

}

1 resposta
solução

Olá, tudo bem? Neste caso, há um pequeno problema bem comum para quem está iniciando: a quantidade excessiva de Ifs.

Eu recomendo que você faça com um If encadeado, dessa forma:

public class ForoumJava
{
    public static void main(String[] args)
    {

        double salario = 4500.00;
        double restituicao;

        if (salario < 1900.00)
        {
            System.out.println("Você está isento de declaração");
        }
        else if (salario <= 2800.00)
        {
            restituicao = 142.00;
            System.out.println("Sua restituição será de " + restituicao + " Reais");
        }
        else if (salario <= 3751.00)
        {
            restituicao = 350.00;
            System.out.println("Sua restituição será de " + restituicao + " Reais");
        }
        else if (salario <= 4664.00)
        {
            restituicao = 636.00;
            System.out.println("Sua restituição será de " + restituicao + " Reais");
        }
        else
        {
            System.out.println("Maior reestituição possível para salários maiores que R$ 4664.00");
        }
    }
}

Dessa maneira, assim que uma condição for aceita (suponhamos, a primeira) o restante das outras não serão testadas, aumentando a performance do programa. É uma boa prática que vem com o tempo. Espero ter ajudado.