Hola Noe, espero que estés bien
Parece que estás en el camino correcto con tu código, pero hay un pequeño detalle que debes ajustar para que funcione correctamente según el ejercicio. El problema principal está en la forma en que estás leyendo el valor de la compra. Estás utilizando teclado.nextInt()
, lo cual es adecuado para números enteros, pero en este caso, deberías usar teclado.nextDouble()
para poder manejar valores decimales, como 120.0.
Aquí tienes el código corregido:
import java.util.Scanner;
public class Practica {
public static void main(String[] args){
Scanner teclado = new Scanner(System.in);
double nuevoValor;
double descuento = 10;
System.out.println("Ingrese valor de la compra:");
double valor = teclado.nextDouble(); // Cambiado a nextDouble()
if (valor >= 100){
System.out.println("Descuento del 10% aplicado.");
nuevoValor = valor * descuento / 100;
double total = valor - nuevoValor;
System.out.println("Nuevo valor: $" + total);
} else {
System.out.println("Descuento no aplicado.");
System.out.println("Valor total: $" + valor);
}
teclado.close(); // Cerrar el scanner
}
}
Con este cambio, tu programa debería funcionar correctamente para valores decimales y enteros. También es una buena práctica cerrar el objeto Scanner
después de su uso, así que he añadido teclado.close();
al final.
Espero haber ayudado y buenos estudios!