Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Proyecto] TestDescuento - If/else Porcentajes

Es mejor usar else if en lugar de hacer nesting?

public class testDescuento {

    public static void main(String[] args) {
        double valorCompra = 50.0;
        int descuentoCliente = 0;

        if(valorCompra > 300) {
            descuentoCliente = 20;
            System.out.println("Ganaste descuento de " + descuentoCliente + "%");
        }
        else {
            if (valorCompra < 200 && valorCompra > 99) {
                descuentoCliente = 10;
                System.out.println("Ganaste descuento de " + descuentoCliente + "%");
            }
            else {
                if (valorCompra >= 200) {
                descuentoCliente = 15;
                System.out.println("Ganaste descuento de " + descuentoCliente + "%");
                }
                else {
                    System.out.println("No aplica ningun descuento");
                }
            }
        }
    }
}
1 respuesta

¡Hola Jesús!

Sí, es mejor usar else if en lugar de nesting (anidación de if dentro de otro if) ya que esto hace que el código sea más legible y fácil de entender. En tu código, podrías reemplazar los if anidados por else if, lo que haría que el código se vea más limpio y ordenado. Aquí te dejo un ejemplo de cómo quedaría tu código utilizando else if:

public class testDescuento {

public static void main(String[] args) {
    double valorCompra = 50.0;
    int descuentoCliente = 0;

    if(valorCompra > 300) {
        descuentoCliente = 20;
        System.out.println("Ganaste descuento de " + descuentoCliente + "%");
    }
    else if (valorCompra >= 200) {
        descuentoCliente = 15;
        System.out.println("Ganaste descuento de " + descuentoCliente + "%");
    }
    else if (valorCompra > 99) {
        descuentoCliente = 10;
        System.out.println("Ganaste descuento de " + descuentoCliente + "%");
    }
    else {
        System.out.println("No aplica ningun descuento");
    }
}

}

Espero que esto te ayude. ¡Buenos estudios!