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

import java.util.Scanner;

public class Compra {

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("Ingrese el valor de la compra: ");
    double valor = scanner.nextDouble();
    scanner.close();
    double nuevoValor=0;
    double descuento = 0.10;
    descuento= (int) valor*descuento;
    nuevoValor=valor-descuento;
    if (valor>=100){
        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: $"+valor);
    }
}

}

1 respuesta

¡Hola! Espero que estés bien. He revisado tu código y parece que hay un pequeño error en la forma en que calculas el descuento. Estás convirtiendo el resultado del cálculo del descuento a un entero, lo cual puede dar lugar a un resultado incorrecto debido al redondeo. Aquí te muestro cómo puedes corregirlo:

import java.util.Scanner;

public class Compra {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Ingrese el valor de la compra: ");
        double valor = scanner.nextDouble();
        scanner.close();
        double nuevoValor = 0;
        double descuento = 0.10;

        // Calcula el descuento correctamente
        descuento = valor * descuento;
        nuevoValor = valor - descuento;

        if (valor >= 100) {
            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: $" + valor);
        }
    }
}

La clave aquí es no convertir el descuento a un entero, ya que eso elimina los decimales y puede afectar el cálculo correcto del descuento. Al mantenerlo como un double, el cálculo será preciso.

Espero que esta corrección te ayude a resolver el problema. ¡Espero haber ayudado y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!