class Wallet implements Comparable { private double cash; private double travellersChecks; public Wallet (double cash, double travellersChecks) { this.cash = cash; this.travellersChecks = travellersChecks; } public int compareTo(Object o) { Wallet w = (Wallet) o; double difference = (this.cash + this.travellersChecks) - (w.cash + w.travellersChecks); if ( (difference > 0 ? difference : -1 * difference) < 0.005) return 0; if (difference < 0) return (int) difference; return (int) difference; } public boolean equals(Object o) { Wallet w = (Wallet) o; if (this.cash != w.cash) return false; if (this.travellersChecks != w.travellersChecks) return false; return true; } public String toString(){ return "Cash: " + cash + " Travellers Check: " + travellersChecks; } public double getTotalAmount() { double totalAmount; totalAmount = cash + travellersChecks; return totalAmount; } public double getCash(){ return cash; } public double getTravellersChecks(){ return travellersChecks; } }