15 Decembre
This commit is contained in:
62
DEV3.4/TP5/stub/exo3/Chef.java
Normal file
62
DEV3.4/TP5/stub/exo3/Chef.java
Normal file
@@ -0,0 +1,62 @@
|
||||
import java.util.*;
|
||||
|
||||
/** feuille du motif composite */
|
||||
public class Chef extends Person {
|
||||
|
||||
ArrayList<Person> subalternes;
|
||||
|
||||
|
||||
public boolean addSubalterne(Person p){
|
||||
return this.subalternes.add(p);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** constructeur
|
||||
*
|
||||
* @param n fun factor
|
||||
*
|
||||
*/
|
||||
public Chef(int n){
|
||||
super(n);
|
||||
this.subalternes = new ArrayList<Person>(100);
|
||||
// d'autres choses peut-être.
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* La meilleure fête avec moi, c'est la meilleure fête sans mes subalternes pour eux plus moi.
|
||||
*
|
||||
* @return retourne la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique, mais pas elle.
|
||||
*
|
||||
*/
|
||||
public int bestPartyWithoutMe(){
|
||||
int funParty = 0;
|
||||
for(int i=0;i<this.subalternes.size();i++){
|
||||
funParty += this.subalternes.get(i).bestParty();
|
||||
}
|
||||
return funParty;
|
||||
}
|
||||
|
||||
/**
|
||||
* La meilleure fête est soit sans moi (c'est l'union des meilleures fêtes de mes subalternes).
|
||||
* soit c'est la meilleure fête avec moi.
|
||||
*
|
||||
* @return la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique (peut-être avec elle).
|
||||
*
|
||||
*/
|
||||
public int bestParty(){
|
||||
return Integer.max(this.bestPartyWithMe(),this.bestPartyWithoutMe());
|
||||
}
|
||||
|
||||
private int bestPartyWithMe(){
|
||||
int funParty = this.getFunFactor();
|
||||
for(int i=0;i<this.subalternes.size();i++){
|
||||
funParty += this.subalternes.get(i).bestPartyWithoutMe();
|
||||
}
|
||||
return funParty;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user