Segue a resolução do desafio.
Classe Compra:
package desafio4;
public class Compra implements Comparable<Compra>{
private String nome;
private double preco;
public Compra(String nome, double preco) {
this.nome = nome;
this.preco = preco;
}
//Getters and Setters
@Override
public String toString() {
return "Compras [nome: " + nome + ", preco: " + preco + "]";
}
@Override
public int compareTo(Compra outraCompra) {
return this.getPreco().compareTo(outraCompra.getPreco());
}
}
Classe CartaoDeCredito:
package desafio4;
public class CartaoDeCredito {
private int numero;
private double limite;
public CartaoDeCredito(double limite) {
this.limite = limite;
}
// Getters and Setters
public void setCompra(double preco) {
this.limite -= preco;
}
public void estorna(double valor){
this.limite += valor;
}
}