| [Précédent] |
| 7.3 |
Calcul de surfaces - Corrigé | Niveau 1 |
||
Fichiers: |
Surfaces.java | |||
Il s'agit ici de modifier le codage de la classe Terrain de sorte à décrire un terrain non plus comme étant constitué de 2 rectangles mais de 3 rectangles et 2 cercles. Commençons par décrire la nouvelle classe, Cercle qui nous est nécessaire :
class Cercle {
private double rayon;
public Cercle (double rayon) {
this.rayon = rayon;
}
public void setRayon (double rayon) {
this.rayon = rayon;
}
public double getRayon () {
return rayon;
}
public double calculerSurface () {
return (Math.PI * rayon * rayon);
}
} |
class Terrain {
private Rectangle r1;
private Rectangle r2;
private Rectangle r3;
private Cercle c1;
private Cercle c2;
public Terrain (double l1, double h1, double l2, double h2, double l3, double h3,
double rayon1, double rayon2) {
// Construction des 3 rectangles definissant le terrain:
r1 = new Rectangle(l1, h1);
r2 = new Rectangle(l2, h2);
r3 = new Rectangle(l3, h3);
c1 = new Cercle(rayon1);
c2 = new Cercle(rayon2);
}
private double calculerSurfaceTotale () {
return r1.calculerSurface() + r2.calculerSurface() + r3.calculerSurface()
+ c1.calculerSurface() + c2.calculerSurface();
}
public void afficherSurfaceTotale () {
double surfaceTotale = calculerSurfaceTotale();
System.out.println("La surface totale est " + surfaceTotale);
}
} |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
/* Ce programme calcule la surface d'un terrain composé de 3
* rectangles et de 2 cercles.
*/
class Surfaces {
public static void main (String[] args) {
// Construction d'un terrain:
Terrain t = new Terrain(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0);
t.afficherSurfaceTotale();
}
}
class Terrain {
private Rectangle r1;
private Rectangle r2;
private Rectangle r3;
private Cercle c1;
private Cercle c2;
public Terrain (double l1, double h1, double l2, double h2, double l3,
double h3, double rayon1, double rayon2) {
// Construction des 3 rectangles définissant le terrain:
r1 = new Rectangle(l1, h1);
r2 = new Rectangle(l2, h2);
r3 = new Rectangle(l3, h3);
c1 = new Cercle(rayon1);
c2 = new Cercle(rayon2);
}
private double calculerSurfaceTotale () {
return r1.calculerSurface() + r2.calculerSurface() + r3.calculerSurface() +
c1.calculerSurface() + c2.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);
}
}
class Cercle {
private double rayon;
public Cercle (double rayon) {
this.rayon = rayon;
}
public void setRayon (double rayon) {
this.rayon = rayon;
}
public double getRayon () {
return rayon;
}
public double calculerSurface () {
return (Math.PI * rayon * rayon);
}
} |
| [Précédent] |