Correction Examen Java — ESSAT Gabes 2024/2025
Exercice N°1 — Tri d'un tableau de 20 entiers
import [Link];
public class TriTableau {
// Methode de saisie
public static int[] saisir() {
Scanner sc = new Scanner([Link]);
int[] tab = new int[20];
[Link]("Saisissez 20 entiers :");
for (int i = 0; i < 20; i++) {
[Link]("tab[" + i + "] = ");
tab[i] = [Link](); }
return tab; }
// Methode de tri (tri a bulles)
public static void trier(int[] tab) {
int n = [Link];
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (tab[j] > tab[j + 1]) {
int temp = tab[j];
tab[j] = tab[j + 1];
tab[j + 1] = temp; }
}
}
}
// Methode d'affichage
public static void afficher(int[] tab) {
[Link]("Tableau trie :");
for (int val : tab) {
[Link](val);
}
}
// Methode principale
public static void main(String[] args) {
int[] tableau = saisir();
trier(tableau);
afficher(tableau); }
}
Exercice N°2 — Formes Geometriques (POO)
// Interface FormeGeometrique (donnee dans l'enonce)
public interface FormeGeometrique {
public double perimetre();
public double surface();
}
// Classe Point
public class Point {
private int x;
private int y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public String toString() {
return "(" + x + "," + y + ")";
}
}
// Classe Rectangle implements FormeGeometrique
public class Rectangle implements FormeGeometrique {
private Point origine;
private double longueur;
private double largeur;
public Rectangle(Point origine, double longueur, double largeur) {
[Link] = origine;
[Link] = longueur;
[Link] = largeur;
}
public Point getOrigine() {
return origine;
}
public double getLongueur() {
return longueur;
}
public double getLargeur() {
return largeur;
}
public void setOrigine(Point o) {
[Link] = o;
}
public void setLongueur(double lon) {
[Link] = lon;
}
public void setLargeur(double lar) {
[Link] = lar;
}
public double perimetre() {
return (longueur + largeur) * 2;
}
public double surface(){
return longueur * largeur;
}
public String toString() {
return "Rectangle [Origine=" + origine + ", Longueur=" + longueur
+ ", Largeur=" + largeur + "]"; }
}
// Classe Carre extends Rectangle
public class Carre extends Rectangle {
public Carre(Point origine, double cote) {
super(origine, cote, cote);
}
public double getCote() {
return getLongueur();
}
public void setCote(double cote) {
setLongueur(cote);
setLargeur(cote);
}
public String toString() {
return "Carré [Origine=" + getOrigine() + ", Côté="+ getLongueur()
+ "]";
}
// Classe Cercle implements FormeGeometrique
public class Cercle implements FormeGeometrique {
private Point centre;
private double rayon;
public Cercle(Point centre, double rayon) {
[Link] = centre;
[Link] = rayon;
}
public Point getCentre() {
return centre;
}
public double getRayon() {
return rayon;
}
public void setCentre(Point centre) {
[Link] = centre;
}
public void setRayon(double rayon) {
[Link] = rayon;
}
public double perimetre() {
return 2 * [Link] * rayon;
}
public double surface() {
return [Link] * rayon * rayon;
}
public String toString() {
return "Cercle[centre=" + centre + ", rayon=" + rayon + "]";
}
}