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

[Proyecto] TestDescuento - Comparto mi código

public class TestDescuento {
    public static void main(String[] args) {
        double valorCompra = 250.0;
        double descuento = 0;
        double porcentaje = 0;
        double resultado;
        if (valorCompra >= 100.0 && valorCompra <= 199.99) {
            porcentaje = 0.10;
        }
        if (valorCompra >= 200.0 && valorCompra <= 299.99) {
            porcentaje = 0.15;
        }
        if (valorCompra >= 300.0) {
            porcentaje = 0.20;
        }
        if (valorCompra < 100) {
            resultado = valorCompra;
        }
        else {
            descuento = valorCompra * porcentaje;
            resultado = valorCompra - descuento;
        }
        System.out.println("Valor de la compra: " + valorCompra);
        System.out.println("Descuento es " + porcentaje * 100 + "%: " + descuento);
        System.out.println("Total a pagar es: " + resultado);
    }
}
5 respuestas
public class TestDescuento {
    public static void main(String[] args) {

        double valorCompra = 0.0;
        int valorDescuento = 0;
        int descuento1 = 10;
        int descuento2 = 15;
        int descuento3 = 20;

        valorCompra = 230.00;

        System.out.println("El valor de la compra es $" + valorCompra);

        if (valorCompra >= 300.00) {
            valorDescuento = descuento3;
            System.out.println("Obtuvo el maximo descuento del " + valorDescuento + "%");
        } else if (valorCompra >= 200.00) {
            valorDescuento = descuento2;
            System.out.println("Obtuvo un descuento del " + valorDescuento + "%");
            System.out.println("Puede ganar el descuento del " + descuento3 + "%, " 
                    + "comprando mas $" + (300.00-valorCompra));
        } else if (valorCompra >= 100.00) {
            valorDescuento = descuento1;
            System.out.println("Obtuvo un descuento del " + valorDescuento + "%");
            System.out.println("Puede ganar el descuento del " + descuento2 + "%, " 
                    + "comprando mas  $" + (200.00-valorCompra));
        } else {
            valorDescuento = 0;
            System.out.println("Para alcansar el descuento 10% le falto $" 
            + (100.00 - valorCompra));
        }

    }
}

Comparto el mio:

    public class TestIr {

        public static void main(String[] args) {

            double valorCompra = 250.0;
            double descuento = 0.0;

            if (valorCompra >=100.0 && valorCompra<=199.99) {
                descuento = 0.10;
            } 
            if (valorCompra >=200.0 && valorCompra<=299.99) {
                descuento = 0.15;
            }
            if (valorCompra >=300.0) {
                descuento = 0.20;
            }    
            valorCompra = valorCompra - (valorCompra * descuento);
            System.out.println(valorCompra);
        }
    }

gente como consejo hagan bien sus validaciones con las condicionales por ejemplo si validad solo para valor<=199.99 solo sera para ese caso en espesifico pero supongamos que agregamos un numero mas a el decimal por ejemplo 199.999 en la condicional ya no será valida yo lo hice algo asi... les comparto lo mio algo censillo

public class TestDescuento {
    public static void main(String[] args) {
        double valor = 199.99900000;

        if (valor >= 100.0 && valor<200 ) {
            System.out.println("El descuento es del 10%");
            double descuento = valor*0.1;
            System.out.println("La cantidad a pagar con decuento es  "+(valor-descuento));
        }if (valor>=200.0 && valor<300) {
            System.out.println("El descuento es del 15%");
            double descuento = valor*0.15;
            System.out.println("La cantidad a pagar con decuento es  "+(valor-descuento));
        }if (valor>=300.0) {
            System.out.println("El descuento es del 20%.");
            double descuento = valor*0.2;
            System.out.println("La cantidad a pagar con decuento es  "+(valor-descuento));
        }
    }
}

Esta correcto el pensamiento. Pero para el caso nos imaginamos que son centavos de dollar por ejemplo. Siempre son hasta 2 digitos despues de la coma o punto.

public class TestDescuento {

    public static void main(String[] args) {

        double valorCompra = 250.0;
        double descuento = 0.0;

        if (valorCompra < 100.0) {
            descuento = 0.0;
        } else if (valorCompra >= 100.0 && valorCompra < 200.0) {
            descuento = 0.10;
        } else if (valorCompra >= 200.0 && valorCompra < 300.0) {
            descuento = 0.15;
        } else if (valorCompra >= 300.0) {
            descuento = 0.20;
        }

        double descuentoAplicado = (valorCompra * descuento);
        double valorFinal = valorCompra - descuentoAplicado ;


        System.out.println("Valor de la compra = $ " + valorCompra);
        System.out.println("Descuento Aplicado = " + descuento * 100 + "%");
        System.out.println("Valor a Pagar = $ " + valorFinal);
    }
}