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

[Duda] Mi propuesta

Hola lo resolvi de la siguiente manera, probe cada condicional cambio el valor de la compra y no tuve ningun error, mi duda es si en algun punto la forma en la que lo resolvi llegaria a afectar el resultado final del valor de la compra

    public class TestDescuento {

        public static void main(String[] args) {

            double valorCompra = 250.0;
            //Condicionales
           
            if(valorCompra>=100 && valorCompra<=199.99) {
            	valorCompra=valorCompra*0.90;
            }
            if(valorCompra>=200 && valorCompra<=299.99) {
            	valorCompra=valorCompra*0.85;
            }
            if(valorCompra>300) {
            	valorCompra=valorCompra*0.80;
            }
            
            System.out.println("El valor de su compra con el descuento aplicado es de "+valorCompra);
        }
    }

1 respuesta

Hola, muy interesante se salta el paso de la resta... yo entendí que es mejor no cambiar la variable usando la variable... valorCompra = valorCompra ... por eso puse una variable descuento y precioFinal y asi también poder dar un print mas detallado. Es una opinion.... saludos!!

public class TestDescuento {

    public static void main(String[] args) {

        double valorCompra = 150.0;
        double precioFinal;
        double descuento = 0.0;

        boolean compraBaja = valorCompra >= 100 && valorCompra < 200;
        boolean compraMedia = valorCompra >= 200 && valorCompra < 300;

        if (compraBaja) {
            descuento = valorCompra * 0.1;
        } else if (compraMedia) {
            descuento = valorCompra * 0.15;
        } else if (valorCompra > 300) {
            descuento = valorCompra * 0.2;
        }

        precioFinal = valorCompra - descuento;

        System.out.println("Su compra de " + valorCompra + " pesos, tiene un descuento de " + descuento
                + " pesos, el precio final de su compra es: " + precioFinal);
    }
}