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

Verificación de descuento en compras

Envío mi código.

import java.util.Scanner;

public class DescuentoCompra { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); double valorCompra;

    do{
        System.out.println("Ingrese el valor de la compra (0 para salir): ");
        valorCompra = scanner.nextDouble();

        if (valorCompra == 0){
            System.out.println("Fin del programa. ");
            break;
        }

        if (valorCompra >= 100.0){
            double descuento = valorCompra * 0.10;
            double nuevoValor = valorCompra - descuento;
            System.out.println("Descuento del %10 aplicado. ");
            System.out.println("Nuevo valor: $" + nuevoValor);
        }else {
            System.out.println("Descuento no aplicado. ");
            System.out.println("Valor total: $" + valorCompra);
        }
        System.out.println();

    } while (true);

    scanner.close();
}

}

1 respuesta

¡Hola Blanca, espero que estés bien!

Tu código para verificar el descuento en compras se ve bastante bien. Estás utilizando un bucle do-while para permitir múltiples entradas de valores de compra hasta que el usuario decida salir ingresando un 0. También estás aplicando correctamente el descuento del 10% para compras iguales o superiores a 100.

Aquí hay un par de sugerencias para mejorar la claridad y el estilo de tu código:

  1. Formato de salida: Para mejorar la legibilidad de los valores monetarios, podrías considerar formatear los números a dos decimales. Esto se puede hacer utilizando String.format o System.out.printf. Por ejemplo:

    System.out.printf("Nuevo valor: $%.2f%n", nuevoValor);
    System.out.printf("Valor total: $%.2f%n", valorCompra);
    
  2. Mensajes al usuario: Puedes hacer que los mensajes sean más claros para el usuario. Por ejemplo, especificar que el descuento es del 10% en lugar de "%10" podría evitar confusiones.

  3. Estructura del código: Aunque no es necesario, podrías considerar separar la lógica de cálculo del descuento en un método separado para hacer el código más modular y fácil de mantener.

Aquí tienes una versión con los cambios sugeridos:

import java.util.Scanner;

public class DescuentoCompra {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double valorCompra;

        do {
            System.out.println("Ingrese el valor de la compra (0 para salir): ");
            valorCompra = scanner.nextDouble();

            if (valorCompra == 0) {
                System.out.println("Fin del programa.");
                break;
            }

            if (valorCompra >= 100.0) {
                double descuento = valorCompra * 0.10;
                double nuevoValor = valorCompra - descuento;
                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);
            }
            System.out.println();

        } while (true);

        scanner.close();
    }
}

Espero que estas sugerencias te sean útiles. ¡Espero haber ayudado y buenos estudios!