Adloun

programmation Java (école d'ingénieur) · Chapitre 8 · Exercice de TD

Une classe utilitaire de statistiques

Encapsulation, membres de classe et paquets · niveau 2

Énoncé

Écrire une classe utilitaire Statistiques, non instanciable, avec trois méthodes static prenant un tableau double[] non vide : moyenne, ecartType (racine de la moyenne des carrés des écarts à la moyenne) et max. Les tester sur les notes .

Corrigé


final class Statistiques {
    private Statistiques() { }

    public static double moyenne(double[] t) {
        double s = 0;
        for (double x : t) s += x;
        return s / t.length;
    }

    public static double ecartType(double[] t) {
        double m = moyenne(t), s = 0;
        for (double x : t) s += (x - m) * (x - m);
        return Math.sqrt(s / t.length);
    }

    public static double max(double[] t) {
        double m = t[0];
        for (double x : t) m = Math.max(m, x);
        return m;
    }
}

public class Ex6Statistiques {
    public static void main(String[] args) {
        double[] notes = {12, 8, 15, 10, 15};
        System.out.printf("moyenne %.2f, écart-type %.2f, max %.1f%n",
                Statistiques.moyenne(notes), Statistiques.ecartType(notes), Statistiques.max(notes));
    }
}

moyenne 12.00, écart-type 2.76, max 15.0

La moyenne vaut , les carrés des écarts , de moyenne , d'où un écart-type . Le constructeur privé interdit new Statistiques() ; la classe est final pour qu'on ne puisse pas la contourner par une sous-classe.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →