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

[Sugerencia] Verificación de descuento en compras

 import java.util.Scanner;

 public class VerificadorDescuento {
    public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    double valorCompra = pedirDoublePositivo(scanner, "Ingrese el valor de la compra: ");

    if (valorCompra >= 100.0) {
        double nuevoValor = valorCompra * 0.90; // descuento del 10%
        System.out.println("Descuento del 10% aplicado.");
        System.out.printf("Nuevo valor: $%.2f%n", nuevoValor);
    } else {
        System.out.println("Descuento no aplicado.");
        System.out.printf("Valor total: $%.2f%n", valorCompra);
    }

    scanner.close();
}

private static double pedirDoublePositivo(Scanner scanner, String mensaje) {
    double valor;
    while (true) {
        System.out.print(mensaje);
        String entrada = scanner.nextLine().trim();
        try {
            valor = Double.parseDouble(entrada);
        } catch (NumberFormatException e) {
            System.out.println("Error: debe ingresar un número válido (ej. 123.45).");
            continue;
        }
        if (valor <= 0) {
            System.out.println("Error: el valor debe ser mayor que 0.");
        } else {
            break;
        }
    }
    return valor;
}

}

1 respuesta

¡Hola Gina, espero que estés bien!

Tu código para verificar el descuento en compras se ve muy bien y parece cumplir con los requisitos del ejercicio. Estás utilizando un Scanner para obtener la entrada del usuario y verificando si el valor de la compra es mayor o igual a $100.00 para aplicar el descuento del 10%. Además, estás manejando adecuadamente las entradas no válidas con un bucle while y un try-catch para asegurarte de que el usuario ingrese un número válido y positivo.

Aquí hay un pequeño resumen de cómo funciona tu código:

  1. Solicitas al usuario que ingrese el valor de la compra.
  2. Verificas si el valor es mayor o igual a $100.00.
  3. Si es así, calculas el nuevo valor aplicando un 10% de descuento y muestras el mensaje correspondiente.
  4. Si no, simplemente informas que el descuento no se aplica y muestras el valor total de la compra.

Tu implementación parece estar en línea con el ejemplo proporcionado en el ejercicio. Solo asegúrate de probarlo con diferentes valores de entrada para confirmar que funciona correctamente en todos los casos.

Espero haber ayudado y buenos estudios!