import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
List<Compras> listadeCompras = new ArrayList<>();
System.out.println("Digite o limite do cartão");
double limite = sc.nextDouble();
sc.nextLine();
CartaoDeCredito cartaoDeCredito = new CartaoDeCredito(limite);
int n= 1 ;
while(n != 0){
System.out.println("Digite a descrição do pedido");
String descricao = sc.nextLine();
System.out.println("valor do produto:");
double valor = sc.nextDouble();
if(valor < cartaoDeCredito.getLimite()) {
Compras compras = new Compras(descricao, valor);
cartaoDeCredito.compra(valor);
listadeCompras.add(compras);
System.out.println("compra realizada!");
System.out.println("digite 0 pra finalizar ou 1 para continuar");
n = sc.nextInt();
sc.nextLine();
}else{
System.out.println("saldo insuficiente");
n = 0;
}
}
System.out.println("COMPRAS REALIZADAS");
System.out.println();
listadeCompras.sort(Comparator.comparing(Compras::getValor));
for (Compras inten: listadeCompras) {
System.out.println(inten);
}
System.out.println("************************");
System.out.println();
System.out.println("saldo do cartao de credito " + cartaoDeCredito.Saldo());
sc.close();
}
}
import java.util.List;
public class CartaoDeCredito {
private double limite;
private double saldo;
public CartaoDeCredito(double limite) {
this.limite = limite;
}
public double getSaldo() {
return saldo ;
}
public double getLimite() {
return limite;
}
public void compra(double valor){
this.limite -= valor;
}
public double Saldo(){
return this.saldo = limite ;
}
private String nome;
private double valor;
public Compras(String nome, double valor) {
this.nome = nome;
this.valor = valor;
}
public String getNome() {
return nome;
}
public double getValor() {
return valor;
}
@Override
public String toString() {
return this.nome + " - " + this.valor;
}
public class Compras {
private String nome;
private double valor;
public Compras(String nome, double valor) {
this.nome = nome;
this.valor = valor;
}
public String getNome() {
return nome;
}
public double getValor() {
return valor;
}
@Override
public String toString() {
return this.nome + " - " + this.valor;
}
}
}