package br.com.alura.cartaodecredito.principal;
import br.com.alura.cartaodecredito.compra.Compra;
import java.util.*;
public class principal { public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List compras = new ArrayList<>();
System.out.println("Informe o limite do cartão:");
double fatura = scanner.nextDouble();
//System.out.println("A fatura é: " + fatura);
int opcao = 1;
while (opcao != 0) {
scanner.nextLine();
System.out.println("Informe a descrição da compra: ");
String descricao = scanner.nextLine();
System.out.println("Informe o valor de sua compra (" + descricao + "):");
double valor = scanner.nextDouble();
if (valor <= fatura) {
Compra compra = new Compra(descricao, valor);
compras.add(compra);
fatura -= valor;
} else {
System.out.println("O valor é maior que o saldo. \n Saldo: " + fatura + " R$");
}
System.out.println("Digite 0 para sair ou 1 para continuar: ");
opcao = scanner.nextInt();
}
compras.sort(Comparator.comparing(Compra::getValor));
System.out.println("********************");
System.out.println("Compras ordenadas por valor: " + compras + "\n");
System.out.println("********************");
System.out.println("Saldo atual: " + fatura);
}
}
======================================================================================================= package br.com.alura.cartaodecredito.compra;
public 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 "\n" + this.descricao + " - " + this.valor + " R$";
}
}