package cc_energie.cc2; import java.util.*; import cc_energie.cc1.*; /* * Ajoutez une classe pour représenter les stations-services. Une station-service a un nom, un numéro de SIRET et contient une liste d’achats de carburant. Vous écrivez pour cette classe uniquement : - l'entête. - les attributs. - un constructeur avec des paramètres pour initialiser les attributs nom et numéro de SIRET. La liste des achats doit être initialement vide. - l’accesseur en lecture de la liste des achats, qui doit permettre de la consulter mais pas de la modifier. - une méthode permettant d’ajouter un achat. */ public class StationService { private String nom, numeroSIRET; private ArrayList listeAchats = new ArrayList<>(); public StationService() {} public StationService(String nom, String numeroSIRET) { this.nom = nom; this.numeroSIRET = numeroSIRET; } public ArrayList getListeAchats(){ return (ArrayList) Collections.unmodifiableList(this.listeAchats) ; } public void ajouteAchat(AchatCarburant a) { if (! this.listeAchats.contains(a)) this.listeAchats.add(a); } /* Question 2 * Ajoutez à la classe représentant les stations-services une méthode permettant de connaître * les gains réalisés. Ceux-ci correspondent à la somme des prix des achats de carburant à * laquelle on retire 5% de frais de gestion. */ public double gains() { double sommeAchats=0; for (AchatCarburant a : this.listeAchats) sommeAchats += a.prixAPayer(); return sommeAchats * 0.95; } /* Question 3 * Ajoutez à la classe représentant les stations-services une méthode retournant la sous-liste * des achats réalisés avec une carte professionnelle. */ public ArrayList sousListePro(){ ArrayList achatPro = new ArrayList<>(); for (AchatCarburant a : this.listeAchats) if (a.getCarteConso().isProfessionnelle()) achatPro.add(a); return achatPro; } //méthodes de la séance de soutien public int nombreAchats(TypeCarburant tc) { int nbAchats = 0; for (AchatCarburant a : this.listeAchats) if (a.getCarburantAchete().getType().equals(tc)) nbAchats += 1; return nbAchats; } public ArrayList sousListeCarte(CarteConso carte) { ArrayList achatCarte = new ArrayList<>(); for (AchatCarburant a : this.listeAchats) if (a.getCarteConso().equals(carte)) achatCarte.add(a); return achatCarte; } }