Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Dudas como aplicar IR

Hola no estoy seguro si aplique bien el impuesto a la renta, me sirvio mucho ver la respuesta del instructor y varios compañeros como Henry Salazar. Saludos.

public class TestIR {

    public static void main(String[] args) {

    /*¿Qué son las deducciones en el impuesto de renta?
            Resultado de imagen para que es deducir impuesto en la renta
            Las deducciones de renta son los pagos que el contribuyente ha 
            realizado para para generar ingresos, y por lo tanto se deducen 
            de esos ingresos para hallar la utilidad o renta neta sobre la 
            que se debe pagar el impuesto de renta.24 jun 2022*/

        double salario = 3300.0;
        double salarioDeducido = 3300.0;
        boolean salarioMinimo = salario >= 1900.0 && salario <= 2800.0;
        boolean salarioMedio = salario >= 2800.01 && salario <= 3751.0;
        boolean salarioMaximo = salario >= 3751.01 && salario <= 4664.0;

        if(salarioMinimo) {
            System.out.println("Su tasa IR es de 7.5%");
            System.out.println("Puede deducir a su declaracion el monto de 142");
            salarioDeducido = salario - 142;
            System.out.println("Su salario trubutado es: " + (salarioDeducido * 0.925));
        } else {
            if(salarioMedio) {
                System.out.println("Su tasa IR es de 15%");
                System.out.println("Puede deducir a su declaracion el monto de 350");
                salarioDeducido = salario - 350;
                System.out.println("Su salario trubutado es: " + (salarioDeducido * 0.85));
            } else {
                if (salarioMaximo) {
                    System.out.println("Su tasa IR es de 22.5%");
                    System.out.println("Puede deducir a su declaracion el monto de 636");
                    salarioDeducido = salario - 636;
                    System.out.println("Su salario trubutado es: " + (salarioDeducido * 0.775));
                } else {
                    System.out.println("Su salario trubutado es: " + salarioDeducido);
                }
            }
        }


    }

}

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

1 respuesta
solución!

Mirá, el tema es que te hiciste mucho problema con los condicionales, y a simple vista el código se vuelve difícil de leer. Lo realice de está manera con booleanos:

    public static void main(String[] args) {

        double salario = 3300.0;
        boolean salarioMinimo = salario >= 1900.0 && salario <= 2800.0;
        boolean salarioMedio = salario >= 2800.01 && salario <= 3751.0;
        boolean salarioMaximo = salario >= 3751.01 && salario <= 4664.0;

        if (salarioMinimo) {
            System.out.println("Su tasa de IR es de 7.5%, " + "y puede deducir hasta $142.");
            System.out.println("Su salario tributado es de: " + (salario - 142));
        } else if (salarioMedio) {
            System.out.println("Su tasa de IR es de 15%, " + "y puede deducir hasta $350.");
            System.out.println("Su salario tributado es de: " + (salario - 350));
        } else if (salarioMaximo) {
            System.out.println("Su tasa de ir es de 22.5%, " + "y puede deducir hasta $636.");
            System.out.println("Su salario tributado es de: " + (salario - 636));
        } else {
            System.out.println("Su salario sale del rango para la tasa de IR, "
                    + "por favor, notifique por email para recibir las instrucciones.");
        }
    }

Usa más los else if, el else lo dejas en caso de querer dar algún error por ejemplo si se sale del rango.