Exercice Java de base calcul de la surface

Exercice Java  corrigé, tutoriel base calcul de la surface.

Le fichier Surfaces.java contient les déclarations de trois classes: Surfaces, Terrain et Rectangle.

  • La classe Rectangle définit des objets de type rectangle, la classe Terrain définit des objets constitués de deux rectangles et permet de calculer leur surface totale.
  • Etudiez le code contenu dans le fichier Surfaces.java pour en comprendre les structures et fonctionnalités.
  • Incorporez le fichier dans Eclipse. Vérifiez qu’il y a vraiment un fichier .class correspondant à chaque classe déclarée dans le fichier compilé.
  • Essayez de démarrer la classe Rectangle. Vous aurez un message d’erreur (lequel ?) car cette classe n’a pas de méthode main et n’est donc pas démarrable. Démarrez le programme à l’aide de la classe qui a une méthode main.
  • Modifiez le code comme suit:
    • Calculez la surface d’un terrain composé de 3 rectangles et de 2 cercles. Vous pouvez soit entrer les données directement dans le code, soit demander à l’utilisateur de les entrer au clavier. Par exemple, vous aurez une surface totale de 398.9999698556466 si vos 3 rectangles sont de largeur/hauteur 1.0/2.0, 3.0/4.0 et 5.0/6.0 et si vos 2 cercles sont de rayon 7.0 et 8.0
    • Dans ce but, il faut ajouter une classe Cercle au programme. Cette classe peut, par exemple, avoir une variable d’instance rayon et une méthode d’instance calculerSurface. La surface d’un cercle est calculée par la formule ? · r2. Vous pouvez utiliser la constante prédéfinie Math.PI.
    • Rappelez-vous que plusieurs classes peuvent utiliser le même nom pour leurs méthodes d’instance. Il n’y a aucun conflit car une méthode d’instance est toujours appelée à travers un objet d’une classe précise, ce qui permet de choisir la bonne méthode à exécuter. Vous pouvez donc, par exemple, avoir une méthode calculerSurface dans la classe Rectangle ainsi que dans la classe Cercle. Choisissez toujours l’identificateur le plus parlant possible pour vos variables, méthodes et classes.
CLiCours.com :  Exercice Java corrigé multiplication de matrices - tableaux

Code donné:

/* Dans ce programme, les 2 rectangles sont encapsulés dans un objet
   de type Terrain qui s'occupe de calculer et d'afficher la surface
   totale. Le mot-clé private a été utilisé le plus possible dans
   toutes les classes. La classe Rectangle met aussi à disposition des
   méthodes get et set pour ses variables (il s'agit d'un service que
   le programmeur de la classe peut offrir à ses utilisateurs s'il le
   juge utile).  */

class Surfaces {

    public static void main(String[] args) {
        // Construction d'un terrain:
        Terrain t = new Terrain(1.0, 2.0, 3.0, 4.0);
        t.afficherSurfaceTotale();
    }

}

class Terrain {
    private Rectangle r1;
    private Rectangle r2;

    public Terrain(double l1, double h1, double l2, double h2) {
        // Construction des 2 rectangles définissant le terrain:
        r1 = new Rectangle(l1, h1);
        r2 = new Rectangle(l2, h2);
    }

    private double calculerSurfaceTotale() {
        return r1.calculerSurface() + r2.calculerSurface();
    }

    public void afficherSurfaceTotale() {
        double surfaceTotale = calculerSurfaceTotale();
        System.out.println("La surface totale est " + surfaceTotale);
    }
}

class Rectangle {
    private double largeur;
    private double hauteur;

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

    public void setLargeur(double largeur) {
        this.largeur = largeur;
    }

    public double getLargeur() {
        return largeur;
    }

    public void setHauteur(double hauteur) {
        this.hauteur = hauteur;
    }

    public double getHauteur() {
        return hauteur;
    }

    public double calculerSurface() {
        return (largeur * hauteur);
    }
}

La correction exercice Java (voir page 2 en bas)

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *