package compras_cartao;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Scanner;
public class Extrato {
private String descricaoCompra;
private double valorCompra;
public Extrato(String descricaoCompra, double valorCompra) {
this.descricaoCompra = descricaoCompra;
this.valorCompra = valorCompra;
}
public String getDescricaoCompra() {
return descricaoCompra;
}
public double getValorCompra() {
return valorCompra;
}
@Override
public String toString() {
return String.format("%s - R$ %.2f", descricaoCompra, valorCompra);
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Digite o limite do cartao: ");
double saldo = Double.parseDouble(input.nextLine());
ArrayList<Extrato> listaDeCompras = new ArrayList<Extrato>();
while (true) {
System.out.println("Digite a descricao da compra: ");
String descricao = input.nextLine();
System.out.println("Digite o valor da compra: ");
double valorCompra = Double.parseDouble(input.nextLine());
if (valorCompra > saldo) {
System.out.println("Saldo insuficiente!");
break;
}
System.out.println("Compra realizada com sucesso!");
listaDeCompras.add(new Extrato(descricao, valorCompra));
saldo -= valorCompra;
System.out.println("Digite 0 para encerrar ou 1 para continuar");
int opcao = Integer.parseInt(input.nextLine());
if (opcao == 0) {
System.out.println("\n****************************");
System.out.println("COMPRAS REALIZADAS:\n");
listaDeCompras.sort(Comparator.comparing(Extrato::getValorCompra));
for (Extrato compra : listaDeCompras) {
System.out.println(compra.toString());
}
System.out.println("\n****************************");
System.out.printf("\nSaldo do cartao: R$ %.2f\n", saldo);
break;
}
}
}
}