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

mi solucion

public class descuentos {
    public static void main(String[] args) {
        double valorCompra = 250.0;
        if (valorCompra == 100.00 || valorCompra <= 199.99) {
            System.out.println("El descuento es del 10%: "+(valorCompra*10)/100);
        }else {
            if (valorCompra == 200.00 || valorCompra <= 299.99)
                System.out.println("El descunto es del 20%: "+(valorCompra*15)/100);
            else {
                System.out.println("El descujento es del 30%: "+(valorCompra*20)/100);
            }
        }
    }

}
1 respuesta

Saludos, el condicional OR (||) va a dar True si se cumple al menos una de las 2 condiciones, en el primer IF si tenemos por ejemplo un valor de compra igual a 50 y al tener " valorCompra <= 199.99 " como condición general va dar verdadero y aplicará erróneamente el primer descuento. Para mantenerlo dentro del rango (mayor igual a 100 y menor igual a 199.99) tenemos que utilizar el condicional AND (&&) que dará True si y solo si las 2 condiciones del IF son verdaderas.