package service;
import models.CartaoDeCredito;
import models.Compra;
public class Operacao {
public static boolean lancaCompra(Compra compra, CartaoDeCredito cartao) {
if (cartao.getSaldo() >= compra.getValor()) {
double novoSaldo = cartao.getSaldo() - compra.getValor();
cartao.setSaldo(novoSaldo);
cartao.getCompras().add(compra);
return true;
}
return false;
}
}
import java.util.Collections;
import java.util.Scanner;
import models.CartaoDeCredito;
import models.Compra;
import service.Operacao;
public class Main {
public static void main(String[] args) {
Scanner leitura = new Scanner(System.in);
System.out.println("Digite o limite do cartão: ");
double limite = leitura.nextDouble();
CartaoDeCredito cartao = new CartaoDeCredito(limite);
int sair = 1;
while(sair != 0) {
System.out.println("Digite a descrição da compra:");
String descricao = leitura.next();
System.out.println("Digite o valor da compra:");
double valor = leitura.nextDouble();
Compra compra = new Compra(descricao, valor);
boolean compraRealizada = Operacao.lancaCompra(compra, cartao);
if (compraRealizada) {
System.out.println("Compra realizada!");
System.out.println("Digite 0 para sair ou 1 para continuar");
sair = leitura.nextInt();
} else {
System.out.println("Saldo insuficiente!");
sair = 0;
}
}
System.out.println("***********************");
System.out.println("COMPRAS REALIZADAS:\n");
Collections.sort(cartao.getCompras(), (c1, c2) -> c1.getValor().compareTo(c2.getValor()));
for (Compra c : cartao.getCompras()) {
System.out.println(c.getDescricao() + " - " +c.getValor());
}
System.out.println("\n***********************");
System.out.println("\nSaldo do cartão: " +cartao.getSaldo());
leitura.close();
}
}