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

Compras

import java.util.ArrayList; import java.util.List; import java.util.Scanner;

class Compra { String descripcion; double monto;

public Compra(String descripcion, double monto) {
    this.descripcion = descripcion;
    this.monto = monto;
}

@Override
public String toString() {
    return descripcion + " - $" + monto;
}

}

class TarjetaCredito { private double limite; private double saldoDisponible; private List historial;

public TarjetaCredito(double limite) {
    this.limite = limite;
    this.saldoDisponible = limite;
    this.historial = new ArrayList<>();
}

public boolean hacerCompra(String descripcion, double monto) {
    if (monto <= saldoDisponible) {
        historial.add(new Compra(descripcion, monto));
        saldoDisponible -= monto;
        return true;
    } else {
        return false;
    }
}

public void mostrarHistorial() {
    if (historial.isEmpty()) {
        System.out.println("No hay compras registradas.");
    } else {
        System.out.println("Compras realizadas:");
        for (Compra c : historial) {
            System.out.println("- " + c);
        }
    }
}

public double getSaldoDisponible() {
    return saldoDisponible;
}

public double getLimite() {
    return limite;
}

}

public class AppTarjetaCredito { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); TarjetaCredito tarjeta = new TarjetaCredito(1000.00);

    int opcion;
    do {
        System.out.println("\n--- MENÚ DE COMPRAS ---");
        System.out.println("1. Hacer compra");
        System.out.println("2. Ver historial de compras");
        System.out.println("3. Ver saldo disponible");
        System.out.println("0. Salir");
        System.out.print("Selecciona una opción: ");
        opcion = scanner.nextInt();
        scanner.nextLine(); // limpiar buffer

        switch (opcion) {
            case 1:
                System.out.print("Descripción de la compra: ");
                String descripcion = scanner.nextLine();
                System.out.print("Monto de la compra: ");
                double monto = scanner.nextDouble();

                if (tarjeta.hacerCompra(descripcion, monto)) {
                    System.out.println("✅ Compra realizada.");
                } else {
                    System.out.println("❌ Fondos insuficientes.");
                }
                break;
            case 2:
                tarjeta.mostrarHistorial();
                break;
            case 3:
                System.out.println("Saldo disponible: $" + tarjeta.getSaldoDisponible());
                break;
            case 0:
                System.out.println("¡Gracias por usar la aplicación!");
                break;
            default:
                System.out.println("Opción inválida.");
        }
    } while (opcion != 0);

    scanner.close();
}

}

1 respuesta

Hola , espero que estés muy bien.

Felicitaciones por tu aprendizaje. Estamos priorizando el foro para postear dudas, así optimizamos el tiempo de respuesta para ustedes.

Te recomiendo que puedes interactuar con el resto de nuestros compañeros por nuestro Discord.

En virtud de que en Discord el alcance es mayor, la interacción es inmediata y llega a más compañeros y el foro solo quedaría para esclarecer cualquier duda que puedas tener sobre el contenido de los cursos.

De esa manera si tienes algún comentario, opinión, recomendación o algún consejo, o para compartir los desafios sea por el Discord, con certeza por ahí llegará a más personas.

Un saludo.

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