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)
3
respuestas

[Sugerencia] Solución Tasa con IFS

Buenas para la resolución de este caso utilice condicional y teniendo en cuenta que en el primer If ya es evaluado el 1er rango de 1900.00 a 2800.00, en el else if ya solo verifico el rango superior del 2do rango ya que en el 1er if contemplamos todos los que estan en el 1er rango y en los siguiente son casos similares.

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

        double salario=3300.0;
        double IR=0;
        double deduccion=0;
        if(salario>=1900.00 && salario<=2800.00) {
            IR=0.075;
            deduccion=142;
        }else if(salario<=3751.0) {
            IR=0.15;
            deduccion=350;
        }else if(salario<=4664.0) {
            IR=0.225;
            deduccion=636;
        }
        System.out.println("Su IR es "+IR+" y su deduccion es "+deduccion);
    }
}
3 respuestas

¡Gracias por compartir tu solución con nosotros Guianela!

solución!

Hola!

Estaba probando el código que compartiste y creo que si es necesario hacer las dos comparaciones, porque si la variable salario tuviera un valor menor a 1900.0 o mayor a 4664, el programa estaría dando mal el resultado. Eso según las pruebas que estuve haciendo.

Si ese detalle me olvide añadir pero así agregues las dos comparaciones si estan fuera de rango te saldría error, lo que me falta es poner un else donde se indique que el salario indicado esta fuera de los rangos.