import java.util.*; /** * Cette classe represente un individu (un nom et sa fortune) */ public class Individu{ private String nom; private List fortune; /** * Creer un individus et lui donne un nom et une fortune vide * @param nom nom de l'individus */ public Individu(String nom){ this.nom = nom; this.fortune = new ArrayList<>(); } /** * Ajoute un billet a la fortune d'un individus * @param billet billet a ajouter * @return true si l'ajout est reussi / false sinon */ public boolean add(Billet billet){ return this.fortune.add(billet); } /** * Supprime un billet a la fortune d'un individus * @param billet billet a supprimer (le billet supprimer est un billet de la meme valeur que celui passer en argument) * @return true si la suppression est reussi / false sinon */ public boolean remove(Billet billet){ for (Billet b : this.fortune){ if (billet.equals(b)){ return this.fortune.remove(b); } } return false; } public void payer(int valeur, Individu vendeur){ // to do (il faut pouvoir trier la liste du plus grand au plus petit) // on pourrait alors utiliser un dictionnaire plutot qu'une liste pour avoir chaque billet en clef et le nombre de fois ou il est present en valeur. // ce dictionnaire serait devrait etre trier. // cette methode doit etre recursive pour que chaque individus se rembourse plusieurs fois jusqu'a ce qu'il ne puisse plus } /** * Donne le montant de la fortune de l'individus * @return montant de la fortune */ public int getFortune(){ int total = 0; for (Billet billet : this.fortune){ total += billet.getValeur(); } return total; } /** * Donne le nom de l'individus * @return nom */ public String getNom(){ return this.nom; } }