4
respostas

Alíquota com ifs - Solução.

Resolvi ir além e colocar a possibilidade de entrada do usuário com scanner para descobrir quando de Imposto será retirado do salário dele.

import java.util.Scanner;

public class TesteIR {

    public static void main(String[] args) {

        System.out.println("----VERIFICAÇÃO DO IR----");

        double salario;

        try (Scanner ler = new Scanner(System.in)) {
            System.out.println("Digite o valor do seu salário por favor: ");
            salario = ler.nextDouble();

        if (salario <= 1899.99) {
                System.out.println("O seu salário no valor de R$ " + salario + " não entra na verificação do IR.");
        }

        else if (salario >= 1900.00 && salario <= 2800.00) {
            salario = salario - 142;
            System.out.println("o IR é de 7.5% e pode deduzir na declaração o valor de R$ 142, " 
                    + "sendo assim seu salário final será: R$ " + salario);
        }

        else if (salario >= 2800.10 && salario <= 3751.00) {
           salario = salario - 350;
           System.out.println("A sua aliquota é de 15% e pode deduzir até R$ 350, "
                   + "sendo assim seu salário final será: R$ " + salario);
        } else {
          salario = salario - 636;
          System.out.println("A sua aliquota é de 22,5% e pode deduzir até R$ 636, "
                  + "sendo assim seu salário final será: R$ " + salario);
        }
      }
    }
 }
4 respostas

Oie Jessica, tudo bem?

Ficou muito legal a maneira como você fez! Fico feliz que tenha compartilhado o código aqui com a gente :)

Continue assim e bons estudos!

Gostei de ver Jéssica :) olha só como ficou o meu:


public class CalculoIR2 {

    public static void main(String[] args) {

        /*
         Criar um programa sobre Imposto de Renda (IR) com as seguintes regras de alíquota.
         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
         */

        double salario = 1000.0;
        if (salario >= 1900 && salario <= 2800) {
            System.out.println(salario - 142);
        }
        if (salario >= 2800 && salario <= 3751) {
            System.out.println(salario - 350);
        }
        if (salario >= 3751 && salario <= 4664) {
            System.out.println(salario - 636);
        }
        else System.out.println(salario);
    }
}

Caramba Jéssica mandou super bem !!! É legal parar para pensar que na construção de um código, conseguimos resolver de várias maneiras diferentes e até mesmo aperfeiçoar de infinitas formas ! Ainda não cheguei no seu nível, mas um dia eu chego lá ! Parabéns !!

A condição para validar o IR pode ser implementada sem ter que ter duas condições 'true', basta colocar uma "<= valor" que os sistema também funcionará!

if (salario <= 1899.99) {
            System.out.println("O seu salário no valor de R$ " + salario + " não entra na verificação do IR.");
        }
        else if (salario <= 2800.00) {
            salario = salario - 142;
            System.out.println("o IR é de 7.5% e pode deduzir na declaração o valor de R$ 142, " 
                    + "sendo assim seu salário final será: R$ " + salario);
        }
        else if (salario <= 3751.00) {
            salario = salario - 350;
            System.out.println("A sua aliquota é de 15% e pode deduzir até R$ 350, "
                    + "sendo assim seu salário final será: R$ " + salario);
        } else {
            salario = salario - 636;
            System.out.println("A sua aliquota é de 22,5% e pode deduzir até R$ 636, "
                    + "sendo assim seu salário final será: R$ " + salario);
        }