package tp3_2019; import java.util.*; public class Promotion { /*-------------- attributs ------------------*/ private ArrayList listeEtudiants; private int annee; /*-------------- constructeurs ------------------*/ public Promotion() { listeEtudiants = new ArrayList(); annee = 0; } public Promotion(int a) { listeEtudiants = new ArrayList(); annee = a; } /*-------------- accesseurs ------------------*/ public int getAnnee() {return annee;} public void setAnnee(int a) {annee=a;} public EtudiantCorrectionTP2_2 getEtudiant(int i) { if (i >=0 && i < listeEtudiants.size()) return listeEtudiants.get(i); else return null; } /*-------------- méthodes ------------------*/ public int nbEtudiants() { return listeEtudiants.size(); } public void inscrit(EtudiantCorrectionTP2_2 e) { if (! listeEtudiants.contains(e)) listeEtudiants.add(e); } public double moyenneGenerale() { if (nbEtudiants()==0) return 0; else { int i; double sommeGenerale=0; for (i=0; i admis() { int i; ArrayList lesAdmis = new ArrayList(); for (i=0; i= 10 ) lesAdmis.add(this.getEtudiant(i)); } return lesAdmis; } public ArrayList nouveauxInscritsNonFrancophones() { int i; ArrayList lesNINF = new ArrayList(); for (i=0; i majors() // Une methode tres simple avec deux parcours .......... { int i; ArrayList listemajors = new ArrayList(); double moyenneCourante, meilleureMoyenne = 0; // On cherche la meilleure moyenne for (i=0; i meilleureMoyenne) meilleureMoyenne = moyenneCourante; } // On recupere les etudiants qui ont cette meilleure moyenne for (i=0; i majorsVersion2() // Une methode en un seul parcours .......... { int i; ArrayList listemajors = new ArrayList(); double moyenneCourante, meilleureMoyenne = 0; // A la fin de l'etape i, // -- meilleureMoyenne contient la meilleure moyenne // pour les etudiants examinés dans les étapes 0 a i // -- listemajors contient les etudiants examinés dans les étapes 0 a i // qui ont comme moyenne meilleureMoyenne for (i=0; i meilleureMoyenne) { meilleureMoyenne = moyenneCourante; listemajors.removeAll(listemajors); listemajors.add(this.getEtudiant(i)); } else if (moyenneCourante == meilleureMoyenne) listemajors.add(this.getEtudiant(i)); } return listemajors; } public String major() // Une methode en un seul parcours .......... moyennes uniques { int i; EtudiantCorrectionTP2_2 major = new EtudiantCorrectionTP2_2(); double moyenneCourante, meilleureMoyenne = 0; // A la fin de l'etape i, // -- meilleureMoyenne contient la meilleure moyenne // pour les etudiants examin� dans les �apes 0 a i // -- listemajors contient les etudiants examin� dans les �apes 0 a i // qui ont comme moyenne meilleureMoyenne for (i=0; i meilleureMoyenne) { meilleureMoyenne = moyenneCourante; major = this.getEtudiant(i); } } return "Le major de la promotion est " + major.getNom(); } public int[] repartitionMoyenne() { int[] tab = new int[21]; for (int i=0; i moyennesPlusFrequentes() { ArrayList mpf=new ArrayList(); int[] repartitionMoy=repartitionMoyenne(); int freqMax=0; for (int i=0; i