Nothing Special   »   [go: up one dir, main page]

Correction Examens JAVA 2023

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 15

Correction d’examen POO JAVA 2023

( By : OUZZIKI BRAHIM)

Exercice 1: (5 points)
1)- La classe d’exception PhoneException:
Class PhoneException extends Exception {
Private String message;
Public PhoneException(String message) {
This.message = message;
}
Public void afficheMessage() {
System.out.println(message);
}
}
2)- La classe Phone:
Class Phone {
Private String nom;
Private int nombrePuces;
Public Phone(String n, int np) throws PhoneException {
If (n.equals(“”)) {
Throw new PhoneException(“Pas de nom.”);
} else if (np < 0) {
Throw new PhoneException(“Nombre négatif de puces.”);
} else {

OUZZIKI BRAHIM
Nom = n;
nombrePuces = np;
}
}
}
3)-
Public static void main(String[] args) {
Try {
Phone pl = new Phone(“”, 2);
} catch (PhoneException e) {
e.afficheMessage();
}
Try {
Phone p2 = new Phone(“redmi”, -3);
} catch (PhoneException e) {
e.afficheMessage();
}
}
Cela affichera “Pas de nom.” Et “Nombre négatif de puces.” Respectivement.

Exercice 2: (15 point)


1)- Les deux classes Joueur et Arbitre doivent obligatoirement implémenter la méthode
abstraite getRole() de la classe Personne, car cette méthode est spécifique à chacune de ces
classes. La méthode getRole() permet de définir le rôle de chaque personne (Joueur ou Arbitre).
2)-
- Dans la classe Equipe :
- matchs : <Match> pour stocker les matchs joués par l’équipe.

OUZZIKI BRAHIM
- Dans la classe Match :
- equipe1 : Equipe pour stocker l’équipe 1
- equipe2 : Equipe pour stocker l’équipe 2
3)-
4)-
// La classe Personne :
Public abstract class Personne {
Public String nomPrenom;
Public String nationalite;
Public int age;

Public Personne(String nomPrenom, String nationalite, int age) {


This.nomPrenom = nomPrenom;
This.nationalite = nationalite;
This.age = age;
}

Public String getNomPrenom() {


Return nomPrenom;
}

Public void setNomPrenom(String nomPrenom) {


This.nomPrenom = nomPrenom;
}

Public String getNationalite() {


Return nationalite;

OUZZIKI BRAHIM
}

Public void setNationalite(String nationalite) {


This.nationalite = nationalite;
}

Public int getAge() {


Return age;
}

Public void setAge(int age) {


This.age = age;
}

Public String toString() {


Return “Personne{nomPrenom=’” + nomPrenom + “’, nationalite=’” + nationalite + “’, age=”
+ age + ‘}’;
}

// La méthode getRole() est déclarée abstraite, ce qui signifie qu’elle sera implémentée dans les
classes filles (Arbitre et Joueur).

Public abstract String getRole();


}

OUZZIKI BRAHIM
// La classe Arbitre :

Class Arbitre extends Personne {


Private List<Match> matchs;

Public Arbitre(String nomPrenom, String nationalite, int age) {


Super(nomPrenom, nationalite, age);
Matchs = new ArrayList<>();
}
Public List<Match> getMatchs() {
Return matchs;
}

Public void setMatchs(List<Match> matchs) {


This.matchs = matchs;
}
Public void ajouterMatchs(Match match) {
Matchs.add(match);
}
Public boolean equals(Object obj) {
If (obj == this) {
Return true;
}
If (!(obj instanceof Arbitre)) {
Return false;
}

OUZZIKI BRAHIM
Arbitre arbitre = (Arbitre) obj;
Return super.nomPrenom.equals(arbitre.nomPrenom) &&
super.nationalite.equals(arbitre.nationalite) && super.age == arbitre.age;
}
Public String getRole() {
Return “Arbitre”;
}
}

// La classe Joueur :

Public class Joueur extends Personne {


Private int num;
Private String position;
Private Equipe equipe;

Public Joueur(String nom, String prenom, String nationalite, int age, int num, String position,
Equipe equipe) {
Super(nom, prenom, nationalite, age);
This.num = num;
This.position = position;
This.equipe = equipe;
}
Public int getNum() {
Return num;
}

OUZZIKI BRAHIM
Public void setNum(int num) {
This.num = num;
}

Public String getPosition() {


Return position;
}

Public void setPosition(String position) {


This.position = position;
}

Public Equipe getEquipe() {


Return equipe;
}

Public void setEquipe(Equipe equipe) {


This.equipe = equipe;
}

Public String toString() {


Return “Joueur{“ +
“NomPrenom=’” + super.getNomPrenom() + ‘\’’ +
“, nationalite=’” + super.getNationalite() + ‘\’’ +
“, age=” + super.getAge() +
“, num=” + num +

OUZZIKI BRAHIM
“, position=’” + position + ‘\’’ +
“, equipe=” + equipe +
‘}’;
}

Public String getRole() {


Return “Joueur”;
}
}

// La classe Equipe:

Public class Equipe {


Private String nom;
Private String couleur;
// En utiliser la liste pour stocker les joueurs.
Private ArrayList<Joueur> joueurs;
Private ArrayList<Match> matchs;

Public Equipe(String nom, String couleur) {


This.nom = nom;
This.couleur = couleur;
This.joueurs = new ArrayList<Joueur>();
This.matchs = new ArrayList<Match>();
}

Public void ajouterJoueur(Joueur joueur) {

OUZZIKI BRAHIM
This.joueurs.add(joueur);
}

Public void afficheJoueurs() {


For (Joueur joueur : this.joueurs) {
System.out.println(joueur);
}
}

Public void ajouterMatch(Match match) {


This.matchs.add(match);
}
Public String getNom() {
Return nom;
}

Public void setNom(String nom) {


This.nom = nom;
}

Public String getCouleur() {


Return couleur;
}

Public void setCouleur(String couleur) {


This.couleur = couleur;
}

OUZZIKI BRAHIM
Public ArrayList<Joueur> getJoueurs() {
Return joueurs;
}

Public void setJoueurs(ArrayList<Joueur> joueurs) {


This.joueurs = joueurs;
}
Public boolean equals(Object obj) {
If (this == obj)
Return true;
If (obj == null)
Return false;
If (getClass() != obj.getClass())
Return false;
Equipe other = (Equipe) obj;
If (couleur == null) {
If (other.couleur != null)
Return false;
} else if (!couleur.equals(other.couleur))
Return false;
If (nom == null) {
If (other.nom != null)
Return false;
} else if (!nom.equals(other.nom))
Return false;
Return true;

OUZZIKI BRAHIM
}
Public String toString() {
Return “Equipe [nom=” + nom + “, couleur=” + couleur + “]”;
}
}

// classe Match :

Public class Match {


Private Equipe equipe1;
Private Equipe equipe2;
Private Arbitre arbitre;
Private String date;
Private String heure;
Private String score;

Public Match(Equipe equipe1, Equipe equipe2, Arbitre arbitre, String date, String heure,
String score) {
This.equipe1 = equipe1;
This.equipe2 = equipe2;
This.arbitre = arbitre;
This.date = date;
This.heure = heure;
This.score = score;
}

Public Equipe getEquipe1() {

OUZZIKI BRAHIM
Return equipe1;
}

Public Equipe getEquipe2() {


Return equipe2;
}

Public Arbitre getArbitre() {


Return arbitre;
}

Public String toString() {


Return “Match entre “ + equipe1.getNom() + “ et “ + equipe2.getNom() + “ arbitré par “ +
arbitre.getNomPrenom() + “ le “ + date + “ à “ + heure + " score : " + score;
}
}
5- l’interface IntMatch :

Public interface IntMatch {

ArrayList<Match> getMatchs();

ArrayList<Match> getMatchs(IntMatch imatch);

Void afficheMatchs(ArrayList<Match> ma);

OUZZIKI BRAHIM
6- La méthode ArrayList<Match> getMatchs() dans la classe Equipe :

Public ArrayList<Match> getMatchs() {

ArrayList<Match> matchsJoues = new ArrayList<Match>();

For(Match m : matchs) {

If(m.getEquipe1() == this || m.getEquipe2() == this) {

matchsJoues.add(m);

Return matchsJoues;

7- La méthode ArrayList<Match> getMatchs(IntMatch imatch) dans la classe Equipe :

Public ArrayList<Match> getMatchs(IntMatch imatch) {

ArrayList<Match> matchsJoues = new ArrayList<Match>();

If(imatch instanceof Equipe) {

For(Match m : matchs) {

If((m.getEquipe1() == this && m.getEquipe2() == imatch) || (m.getEquipe1() == imatch &&


m.getEquipe2() == this)) {

matchsJoues.add(m);

} else if(imatch instanceof Arbitre) {

For(Match m : matchs) {

If(m.getArbitre() == imatch && (m.getEquipe1() == this || m.getEquipe2() == this)) {

matchsJoues.add(m);

OUZZIKI BRAHIM
}

Return matchsJoues;

```

8- La méthode afficheMatchs(ArrayList<Match> ma) dans la classe Equipe

Public void afficheMatchs(ArrayList<Match> ma) {

For(Match m : ma) {

System.out.println(m.toString());

9- Les trois objets Matchs :

Match match1 = new Match(equipe1, equipe2, ar1, “28/01/2023”, “15:00”, “3-1”);

Match match2 = new Match(equipe2, equipe3,ar2, “20/01/2023”, “16:00”, “2-1”);

Match match3 = new Match(equipe1, equipe3, ar1, “24/01/2023”, “15:00”, “2-3”);

10- Afficher la liste des matchs entre equipe1 et equipe2 :

ArrayList<Match> matchs = new ArrayList<Match>();

Matchs.add(match1);

Matchs.add(match2);

Matchs.add(match3);

For (Match match : matchs) {

If (match.getEquipe1().equals(equipe1) && match.getEquipe2().equals(equipe2)) {

System.out.println(match);

11-

ArrayList<Match> matchs = new ArrayList<Match>();

Matchs.add(match1);

OUZZIKI BRAHIM
Matchs.add(match2);

Matchs.add(match3);

For (Match match : matchs) {

If (match.getEquipe1().equals(equipe1) || match.getEquipe2().equals(equipe1) ||
match.getArbitre().equals(ar1)) {

System.out.println(match);

Good luck.

OUZZIKI BRAHIM

Vous aimerez peut-être aussi