0% found this document useful (0 votes)
12 views

Correction Exercices Java MySQL

correction java

Uploaded by

6ahra Sad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Correction Exercices Java MySQL

correction java

Uploaded by

6ahra Sad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

Correction des Exercices - Examen Java

& MySQL
Exercice 1: Niveau 1 - Facile
Créer une classe Java nommée Utilisateur qui a comme attributs :
- ID : entier
- nom : chaîne de caractères

La classe dispose d'un constructeur qui initialise les deux attributs. Le constructeur lève une
exception ErrUtilisateur si le nombre de caractères du nom dépasse 50. La classe doit aussi
avoir les getters et setters nécessaires. Finalement, créer une classe Test pour tester la
création d'objets Utilisateur.

Voici le code en Java :

public class Utilisateur {


private int id;
private String nom;

public Utilisateur(int id, String nom) throws ErrUtilisateur {


if (nom.length() > 50) {
throw new ErrUtilisateur("Le nom dépasse 50 caractères");
}
this.id = id;
this.nom = nom;
}

public int getId() {


return id;
}

public void setId(int id) {


this.id = id;
}

public String getNom() {


return nom;
}

public void setNom(String nom) throws ErrUtilisateur {


if (nom.length() > 50) {
throw new ErrUtilisateur("Le nom dépasse 50 caractères");
}
this.nom = nom;
}
}

class ErrUtilisateur extends Exception {


public ErrUtilisateur(String message) {
super(message);
}
}

public class Test {


public static void main(String[] args) {
try {
Utilisateur u1 = new Utilisateur(1, "Jean Dupont");
System.out.println("Utilisateur créé: " + u1.getNom());
Utilisateur u2 = new Utilisateur(2, "Nom très très très très très long qui dépasse 50
caractères");
} catch (ErrUtilisateur e) {
System.out.println(e.getMessage());
}
}
}
Exercice 2: Niveau 2 - Moyen
Nous avons deux catégories d'employés :
- Catégorie A (CommissionEmployee): employés payés en pourcentage des ventes.
- Catégorie B (BasePlusCommissionEmployee): employés avec salaire de base plus
pourcentage des ventes.

Tâches :
1. Créer une classe abstraite Java nommée Employee avec des sous-classes pour les deux
catégories.
2. Créer une classe Test avec une fonction main() pour créer un tableau d'employés.
3. Expliquer le concept de la programmation orientée objet en relation avec cet exercice.
4. Modifier la classe Employee pour qu'elle puisse être utilisée dans une
HashSet<Employee>.

Voici le code en Java :

public abstract class Employee {


private String nni;
private String prenom;
private String nom;

public Employee(String nni, String prenom, String nom) {


this.nni = nni;
this.prenom = prenom;
this.nom = nom;
}

public String getNni() {


return nni;
}

public String getPrenom() {


return prenom;
}

public String getNom() {


return nom;
}

public abstract double calculerSalaire();


}
class CommissionEmployee extends Employee {
private double ventesMensuelles;
private double pourcentage;

public CommissionEmployee(String nni, String prenom, String nom, double


ventesMensuelles, double pourcentage) {
super(nni, prenom, nom);
this.ventesMensuelles = ventesMensuelles;
this.pourcentage = pourcentage;
}

@Override
public double calculerSalaire() {
return ventesMensuelles * pourcentage;
}
}

class BasePlusCommissionEmployee extends CommissionEmployee {


private double salaireDeBase;

public BasePlusCommissionEmployee(String nni, String prenom, String nom, double


ventesMensuelles, double pourcentage, double salaireDeBase) {
super(nni, prenom, nom, ventesMensuelles, pourcentage);
this.salaireDeBase = salaireDeBase;
}

@Override
public double calculerSalaire() {
return salaireDeBase + super.calculerSalaire();
}
}

public class Test {


public static void main(String[] args) {
Employee[] employes = new Employee[3];
employes[0] = new CommissionEmployee("123", "Jean", "Dupont", 10000, 0.06);
employes[1] = new BasePlusCommissionEmployee("124", "Marie", "Curie", 8000, 0.04,
2000);
employes[2] = new CommissionEmployee("125", "Albert", "Einstein", 12000, 0.05);

for (Employee e : employes) {


System.out.println("Salaire de " + e.getPrenom() + " " + e.getNom() + ": " +
e.calculerSalaire());
}
}
}

Explication des concepts de la POO :

La programmation orientée objet (POO) permet de structurer le code en utilisant des objets
représentant des entités du monde réel. L'héritage, par exemple, permet de créer des
classes spécialisées à partir de classes plus générales, comme dans cet exercice avec
Employee et ses sous-classes. L'encapsulation est utilisée pour protéger les données des
objets, et le polymorphisme permet d'utiliser des objets de différentes classes de manière
interchangeable.

Pour utiliser la classe Employee dans une collection HashSet<Employee>, il serait


nécessaire d'implémenter les méthodes hashCode() et equals() dans la classe Employee.
Cela permettrait de garantir que deux objets Employee égaux soient traités comme
identiques dans le HashSet.
Exercice 3: Niveau 3 - Difficile
1. Modélisation entité-association pour la gestion des données administratives de la
Mauritanie.

Voici la structure des tables :


Table Wilaya (codeWilaya, nomWilaya)
Table Moughataa (codeMoughataa, nomMoughataa, codeWilaya)
Table Commune (codeCommune, nomCommune, codeMoughataa)

You might also like