Adloun

programmation Java (école d'ingénieur) · Chapitre 7 · Application directe du cours

Une classe Rectangle

Classes et objets · niveau 1 (application)

Énoncé

Écrire une classe Rectangle ayant deux attributs réels largeur et hauteur, un constructeur à deux paramètres, et les méthodes aire(), perimetre(), estCarre() et toString(). Écrire un programme qui crée un rectangle et un carré de côté , et affiche pour chacun son aire, son périmètre et s'il est carré.

Corrigé

Les attributs portent les dimensions ; les méthodes s'en déduisent.


class Rectangle {
    double largeur, hauteur;

    Rectangle(double largeur, double hauteur) {
        this.largeur = largeur;
        this.hauteur = hauteur;
    }

    double aire() { return largeur * hauteur; }

    double perimetre() { return 2 * (largeur + hauteur); }

    boolean estCarre() { return largeur == hauteur; }

    @Override
    public String toString() { return "Rectangle " + largeur + " x " + hauteur; }
}

public class Ex1Rectangle {
    public static void main(String[] args) {
        Rectangle r = new Rectangle(3, 5);
        Rectangle c = new Rectangle(4, 4);
        for (Rectangle x : new Rectangle[] {r, c}) {
            System.out.println(x + " : aire " + x.aire() + ", périmètre " + x.perimetre()
                    + (x.estCarre() ? ", carré" : ""));
        }
    }
}

Rectangle 3.0 x 5.0 : aire 15.0, périmètre 16.0
Rectangle 4.0 x 4.0 : aire 16.0, périmètre 16.0, carré

Les deux rectangles ont le même périmètre mais pas la même aire : à périmètre donné, c'est le carré qui a la plus grande aire. La comparaison largeur == hauteur sur des réels est ici sans danger, car les valeurs sont saisies telles quelles et non calculées.

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 →