import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;
public class principal {
public static void main(String[] args) {
Scanner leitura = new Scanner(System.in);
System.out.println("Digite o limite do seu cartão:");
double limite = leitura.nextDouble();
leitura.nextLine();
double saldoAtual = limite;
List<Compra> compras = new ArrayList<>();
while (true) {
System.out.println("Descrição da compra:");
String descricao = leitura.nextLine();
System.out.println("Digite o valor da compra:");
double valorDaCompra = leitura.nextDouble();
if (valorDaCompra <= saldoAtual) {
saldoAtual -= valorDaCompra;
System.out.println("Compra realizada!");
compras.add(new Compra(descricao, valorDaCompra));
} else {
System.out.println("Saldo insuficiente!");
break;
}
System.out.println("Digite 0 para sair ou 1 para continuar:");
int sair = leitura.nextInt();
if (sair == 0) {
break;
}
leitura.nextLine();
}
Collections.sort(compras, Comparator.comparingDouble(Compra::getValor).reversed());
System.out.println("**************");
System.out.println("Compras realizadas (em ordem decrescente de valor):");
for (Compra compra : compras) {
System.out.println(compra);
}
System.out.println("**************");
System.out.println("Saldo do cartão: " + saldoAtual);
leitura.close();
}
}
class Compra {
private String descricao;
private double valor;
public Compra(String descricao, double valor) {
this.descricao = descricao;
this.valor = valor;
}
public String getDescricao() {
return descricao;
}
public double getValor() {
return valor;
}
@Override
public String toString() {
return "Descrição: " + descricao + ", Valor: " + valor;
}
}