Se crearon las clases: TarjetaDeCredito, con tres atributos: limite, saldo y listaDeCompras Compra, con dos atributos: valor y descripción. Principal, donde se implementó un menú que permite al usuario añadir compras.
import java.util.Collections;
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Escribe el límite de la tarjeta: ");
double limite = scanner.nextDouble();
TarjetaDeCredito tarjeta = new TarjetaDeCredito(limite);
int salir = 1;
while (salir != 0){
System.out.println("Escriba la descripción de la compra: ");
String descripcion = scanner.next();
System.out.println("Escribe el valor de la compra: ");
double valor = Double.valueOf(scanner.next());
Compra compra = new Compra(valor, descripcion);
boolean compraRealizada = tarjeta.lanzarCompra(compra);
if (compraRealizada){
System.out.println("Compra realizada!");
System.out.println("Escribe 0 para salir o 1 para continuar");
salir = scanner.nextInt();
} else {
System.out.println("Saldo insuficiente");
salir = 0;
}
}
System.out.println("\n***********************");
System.out.println("COMPRAS REALIZADAS:\n");
Collections.sort(tarjeta.getListaDeCompras());
for (Compra compra : tarjeta.getListaDeCompras()) {
System.out.println(compra.getDescripcion() + " - " +compra.getValor());
}
System.out.println("\n***********************");
System.out.println("\nSaldo de la tarjeta: " + tarjeta.getSaldo());
}
}
Resultado:
Escribe el límite de la tarjeta:
2000
Escriba la descripción de la compra:
polo
Escribe el valor de la compra:
50
Compra realizada!
Escribe 0 para salir o 1 para continuar
1
Escriba la descripción de la compra:
casaca
Escribe el valor de la compra:
300
Compra realizada!
Escribe 0 para salir o 1 para continuar
1
Escriba la descripción de la compra:
zapatos
Escribe el valor de la compra:
450
Compra realizada!
Escribe 0 para salir o 1 para continuar
0
COMPRAS REALIZADAS:
polo - 50.0
casaca - 300.0
zapatos - 450.0
Saldo de la tarjeta: 1200.0