Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
6
respuestas

Resultado incompleto de un ejercicio

Hola! Cuando hice el ejercicio de IR (El ejercicio se llama "Tasa con Ifs") no me aparece reflejado el primer ítem(Salario entre 1900,00 a 2800) . ¿Alguien sabe el por qué?

6 respuestas

Hola alumno espero que estes bien

Puedes compartirnos tu código para conseguir ayudarte mejor?

¡Hola! En la consola solo aparecen reflejados los dos últimos. El dato que corresponde a 7.5% no aparece reflejado. ¡Gracias de antemano por la orientación!

public class EjercicioTestIR {

public static void main(String[] args) {

      // De 1900.0 hasta 2800.0 el IR es de 7.5% y se pueden deducir $ 142
    // De 2800.01 hasta 3751.0 el IR es de de 15% y se pueden deducir $ 350
    // De 3751.01 hasta 4664.00 el IR es de de 22.5% y se pueden deducir $ 636

double salario = 3300.0;

if (salario >= 1900.0 && salario <= 2800.0) {
        System.out.println("Su tasa es 7.5%");
        System.out.println("Usted puede deducir hasta $ 142");
    } else {
        if(salario >= 2800.01 && salario <= 3751.0) {

        System.out.println("Su tasa es 15%");
        System.out.println("Usted puede deducir hasta $ 350");

        if(salario >= 3751.01 && salario <= 4664.0) {

} System.out.println("Su tasa es 22.5%"); System.out.println("Usted puede deducir hasta $ 636"); } } } }

Comparto la alternativa de solución que yo aplique para el ejercicio de TestIR

public class TestIR_{

public static void main(String[] args){ 

System.out.println("Tabulador de Cálculo del Impuesto sobre la Renta\n");

double salario = 3300.0; 
double ir;

System.out.println("Con base al siguiente tabulador se realiza cálculo del Impuesto IR");
System.out.println("------------------------------------------------------------------");
System.out.println("De 1900.0 a 2800.0, el IR es de 7.5% y puede deducir de la declaración el monto de 142.");
System.out.println("De 2800.01 a 3751.0, el IR es del 15% y puede deducir 350.");
System.out.println("De 3751.01 a 4664.00, el IR es 22.5% y puede deducir 636.");
System.out.println("------------------------------------------------------------------");

if (salario >= 1900.0 && salario <= 2800.0) { 
    ir = salario * 0.075;
    System.out.println("Su salario es: " + salario + "\nEl impuesto a la Renta es 7.5% "+ "\nEl monto en pesos a deducir: " + ir ); 
} else if (salario >=2800.01 && salario <=3751.0) {
    ir = salario * 0.15;
    System.out.println("Su salario es: " + salario + "\nEl impuesto a la Renta es 15% " + "\nEl monto en pesos a deducir: " + ir);
}else if (salario >= 3751.01 && salario <= 4664.0) {
    ir = salario * 0.2505;
    System.out.println("Su salario es: " + salario + "\nEl impuesto a la Renta es 22.5% " + "\nEl monto en pesos a deducir: " + ir); 
}else{ 
    System.out.println("No hay impuesto sobre la renta para este salario");
}

} }

Gracias, Martín, por la alternativa que compartiste conmigo, pero quería saber por qué había fallado el mío. Si pudieras orientarme al respecto. Es que me gustaría saber en qué fallé.

Hola Alumno, el resultado que obtengas va a depender del valor de tu variable salário, en el código que compartiste no la vi declarada como en el ejemplo del colega Martín, si este valor no está entre el rango de 1900 hasta 2800 no irá a entrar en la primera condición por ejemplo, recuerda que el está evaluando en cual de esos tres casos se encaja el valor del salário y dependiendo de eso será mostrado un resultado diferente

¡Muchas gracias, Génesys! ¡Ahora lo tengo claro!