Exercices corrigés Java – Programmation Orientée Objet | Partie 3
Avec des exercices corrigés en Java, vous pratiquerez divers concepts du langage de programmation Java. Vous commencerez par des exercices Java de base à des exercices plus avancés. La solution est fournie pour chaque exercice. Vous devez essayer de résoudre chaque problème par vous-même avant de vérifier la solution. Si vous avez des questions concernant chaque problème, nous vous encourageons à les poster sur notre forum.
Exercice 1:
Écrire un programme Java pour créer une classe appelée « Stock » avec une collection de produits et des méthodes pour ajouter et supprimer des produits, et pour vérifier si le stock est insuffisant.
Diagrame de classe:
// Importer la classe ArrayList du package java.util import java.util.ArrayList; // Définir la classe Produit class Produit { // Champ privé pour stocker le nom du produit private String nom; // Champ privé pour stocker la quantité du produit private int quantite; // Constructeur pour initialiser le nom et la quantité du produit public Produit(String nom, int quantite) { // Affecter le paramètre nom au champ nom this.nom = nom; // Affecter le paramètre quantite au champ quantite this.quantite = quantite; } // Méthode pour obtenir le nom du produit public String getNom() { // Retourner la valeur du champ nom return nom; } // Méthode pour définir le champ nom public void setNom(String nom) { // Affecter le paramètre nom au champ nom this.nom = nom; } // Méthode pour obtenir la quantité du produit public int getQuantite() { // Retourner la valeur du champ quantite return quantite; } // Méthode pour définir le champ quantite public void setQuantite(int quantite) { // Affecter le paramètre quantite au champ quantite this.quantite = quantite; } } // Définir la classe Stock class Stock { // Champ privé pour stocker une liste d'objets Produit private ArrayList<Produit> produits; // Constructeur pour initialiser le champ produits public Stock() { // Créer une nouvelle ArrayList pour stocker les objets Produit produits = new ArrayList<Produit>(); } // Méthode pour ajouter un produit à la liste des produits public void addProduit(Produit produit) { // Ajouter le produit spécifié à la liste des produits produits.add(produit); } // Méthode pour supprimer un produit de la liste des produits public void removeProduit(Produit produit) { // Supprimer le produit spécifié de la liste des produits produits.remove(produit); } // Méthode pour vérifier si les produits en stock sont insuffisants public void checkStock() { // Itérer dans la liste des produits for (Produit p : produits) { // Vérifier si la quantité du produit est inférieure ou égale à // 100 if (p.getQuantite() <= 100) { // Afficher un message indiquant que le produit est en // rupture de stock System.out.println(p.getNom() + " est en rupture de stock. La quantité actuelle: " + p.getQuantite()); } } } } // Définir la classe Main public class Main { // Définir la méthode main qui est le point d'entrée du programme public static void main(String[] args) { // Créer une nouvelle instance de la classe Stock Stock stock = new Stock(); // Créer de nouveaux objets Produit avec nom et quantité Produit p1 = new Produit("Souris", 300); Produit p2 = new Produit("Clavier", 70); Produit p3 = new Produit("Tablette", 40); System.out.println("Ajouter trois produits en stock:"); stock.addProduit(p1); stock.addProduit(p2); stock.addProduit(p3); System.out.println("\nVérifier la disponibilité des stocks:"); // Vérifier et afficher les produits dont le stock est // insuffisant stock.checkStock(); System.out.println("\nSupprimer la tablette du stock!"); // Supprimer le produit Tablette du stock stock.removeProduit(p3); System.out.println("\nVérifier à nouveau la disponibilité des stocks:"); // Vérifier et afficher les produits dont le stock est // insuffisant stock.checkStock(); } }
Sortie:
Ajouter trois produits en stock: Vérifier la disponibilité des stocks: Clavier est en rupture de stock. La quantité actuelle: 70 Tablette est en rupture de stock. La quantité actuelle: 40 Supprimer la tablette du stock! Vérifier à nouveau la disponibilité des stocks: Clavier est en rupture de stock. La quantité actuelle: 70
Exercice 2:
Écrivez un programme Java pour créer une classe appelée « Ecole » avec des attributs pour les étudiants, les enseignants et les classes, et des méthodes pour ajouter et supprimer des étudiants et des enseignants, et pour créer des classes (cours).
Diagrame de classe:
// Importer la classe ArrayList du paquetage java.util import java.util.ArrayList; // Définir la classe Ecole class Ecole { // Champ privé pour stocker une liste d'objets étudiants private ArrayList<Etudiant> etudiants; // Champ privé pour stocker une liste d'objets enseignants private ArrayList<Enseignant> enseignants; // Champ privé pour stocker une liste d'objets SchoolClass private ArrayList<Classe> classes; // Constructeur pour initialiser les champs élèves, enseignants et // classes public Ecole() { // Créer une nouvelle ArrayList pour stocker les objets Etudiant this.etudiants = new ArrayList<Etudiant>(); // Créer une nouvelle ArrayList pour stocker les objets // Enseignant this.enseignants = new ArrayList<Enseignant>(); // Créer une nouvelle ArrayList pour stocker les objets Classe this.classes = new ArrayList<Classe>(); } // Méthode pour ajouter un étudiant à la liste des étudiants public void addEtudiant(Etudiant student) { // Ajouter l'étudiant spécifié à la liste des étudiants etudiants.add(student); } // Méthode pour supprimer un étudiant de la liste des étudiants public void removeEtudiant(Etudiant student) { // Supprimer l'étudiant spécifié de la liste des étudiants etudiants.remove(student); } // Méthode pour ajouter un enseignant à la liste des enseignants public void addEnseignant(Enseignant teacher) { // Ajouter l'enseignant spécifié à la liste des enseignants enseignants.add(teacher); } // Méthode pour supprimer un enseignant de la liste des enseignants public void removeEnseignant(Enseignant teacher) { // Supprimer l'enseignant spécifié de la liste des enseignants enseignants.remove(teacher); } // Méthode pour ajouter un classe à la liste des classes public void addClasse(Classe schoolClass) { // Ajouter le classe spécifié à la liste des classes classes.add(schoolClass); } // Méthode pour supprimer un classe de la liste des classes public void removeClasse(Classe schoolClass) { // Supprimer le classe spécifié de la liste des classes classes.remove(schoolClass); } // Méthode pour récupérer la liste des étudiants public ArrayList<Etudiant> getEtudiants() { // Retourner la liste des étudiants return etudiants; } // Méthode pour récupérer la liste des enseignants public ArrayList<Enseignant> getEnseignants() { // Retourner la liste des enseignants return enseignants; } // Méthode pour récupérer la liste des classes public ArrayList<Classe> getClasses() { // Retourner la liste des classes return classes; } } // Définir la classe Etudiant class Etudiant { // Champ privé pour stocker le nom de l'étudiant private String nom; // Champ privé pour stocker l'âge de l'étudiant private int age; // Constructeur pour initialiser le nom et l'âge de l'étudiant public Etudiant(String nom, int age) { // Affecter le paramètre nom au champ nom this.nom = nom; // Affecter le paramètre age au champ age this.age = age; } // Méthode Getter pour le champ nom public String getNon() { // Retourner la valeur du champ nom return nom; } // Méthode Setter pour le champ nom public void setNon(String nom) { // Affecter le paramètre nom au champ nom this.nom = nom; } // Méthode Getter pour le champ age public int getAge() { // Retourner la valeur du champ age return age; } // Méthode Setter pour le champ age public void setAge(int age) { // Affecter le paramètre age au champ age this.age = age; } } // Définir la classe Enseignant class Enseignant { // Champ privé pour stocker le nom de l'enseignant private String nom; // Champ privé pour stocker la matière de l'enseignant private String matiere; // Constructeur pour initialiser le nom et la matière de // l'enseignant public Enseignant(String nom, String matiere) { // Affecter le paramètre nom au champ nom this.nom = nom; // Affecter le paramètre matiere au champ matiere this.matiere = matiere; } // Méthode Getter pour le champ nom public String getNom() { // Retourner la valeur du champ nom return nom; } // Méthode Setter pour le champ nom public void setNom(String nom) { // Affecter le paramètre nom au champ nom this.nom = nom; } // Méthode Getter pour le champ matiere public String getMatiere() { // Retourner la valeur du champ matiere return matiere; } // Méthode Setter pour le champ matiere public void setMatiere(String matiere) { // Affecter le paramètre matiere au champ matiere this.matiere = matiere; } } // Définir la classe Classe class Classe { // Champ privé pour stocker le nom de la classe private String nomClasse; // Champ privé pour stocker l'enseignant de la classe private Enseignant enseignant; // Champ privé pour stocker une liste d'objets Etudiant private ArrayList<Etudiant> etudiants; // Constructeur pour initialiser les champs nomClasse, enseignant // et etudiants public Classe(String nomClasse, Enseignant enseignant) { // Affecter le paramètre nomClasse au champ nomClasse this.nomClasse = nomClasse; // Affecter le paramètre enseignant au champ enseignant this.enseignant = enseignant; // Créer une nouvelle ArrayList pour stocker les objets Etudiant this.etudiants = new ArrayList<Etudiant>(); } // Méthode Getter pour le champ nomClasse public String getNomClasse() { // Retourner la valeur du champ nomClasse return nomClasse; } // Setter method for the nomClasse field public void setNomClasse(String nomClasse) { // Affecter le paramètre nomClasse au champ nomClasse this.nomClasse = nomClasse; } // Méthode Getter pour le champ enseignant public Enseignant getEnseignant() { // Retourner la valeur du champ enseignant return enseignant; } // Setter method for the enseignant field public void setEnseignant(Enseignant enseignant) { // Affecter le paramètre enseignant au champ enseignant this.enseignant = enseignant; } // Méthode pour récupérer la liste des étudiants public ArrayList<Etudiant> getEtudiants() { // Retourner la liste des étudiants return etudiants; } // Méthode pour ajouter un Etudiant à la liste des Etudiants public void addEtudiant(Etudiant e) { // Ajouter l'étudiant spécifié à la liste des étudiants etudiants.add(e); } // Méthode pour supprimer un étudiant de la liste des étudiants public void removeEtudiant(Etudiant e) { // Supprimer l'étudiant spécifié de la liste etudiants etudiants.remove(e); } } // Définir la classe Main public class Main { // Définir la méthode main qui est le point d'entrée du programme public static void main(String[] args) { // Créer une nouvelle instance de la classe Ecole Ecole ecole = new Ecole(); // Créer des objets Etudiant avec nom et age Etudiant et1 = new Etudiant("Alex Babtise", 20); Etudiant et2 = new Etudiant("Bob Firok", 25); Etudiant et3 = new Etudiant("Emily Taylor", 22); Etudiant et4 = new Etudiant("Ali Binani", 23); // Ajouter les étudiants à l'école ecole.addEtudiant(et1); ecole.addEtudiant(et2); ecole.addEtudiant(et3); ecole.addEtudiant(et4); // Créer de nouveaux objets Enseignant avec nom et matiere Enseignant es1 = new Enseignant("Yohan Sinor", "Math"); Enseignant es2 = new Enseignant("Thomas Fiza", "Anglais"); Enseignant es3 = new Enseignant("Olivier Bibo", "Science"); // Ajouter les enseignants à l'école ecole.addEnseignant(es1); ecole.addEnseignant(es2); ecole.addEnseignant(es3); // Créer de nouveaux objets Classe avec nom de classe et // enseignant Classe classMath = new Classe("Mathematics", es1); // Ajouter des étudiants à la classe de mathématiques classMath.addEtudiant(et1); classMath.addEtudiant(et2); classMath.addEtudiant(et3); classMath.addEtudiant(et4); Classe classAnglais = new Classe("Anglais", es2); // Ajouter des étudiants à la classe d'anglais classAnglais.addEtudiant(et1); classAnglais.addEtudiant(et2); classAnglais.addEtudiant(et3); Classe classScience = new Classe("Science", es3); // Ajouter des étudiants à la classe de sciences classScience.addEtudiant(et1); classScience.addEtudiant(et2); classScience.addEtudiant(et3); classScience.addEtudiant(et4); // Ajouter les classes à l'école ecole.addClasse(classMath); ecole.addClasse(classAnglais); ecole.addClasse(classScience); // Afficher des informations générales sur l'école System.out.println("Informations sur l'école:"); System.out.println("Nombre d'étudiants: "+ ecole.getEtudiants().size()); System.out.println("Nombre d'enseignants: "+ ecole.getEnseignants().size()); System.out.println("Nombre de classes: "+ ecole.getClasses().size()); System.out.println(); // Afficher les informations sur les cours de mathématiques System.out.println("Informations sur les cours de mathématiques:"); System.out.println("Nom de Class: "+ classMath.getNomClasse()); System.out.println("Enseignant: "+ classMath.getEnseignant().getNom()); System.out.println("Nombre d'étudiants: "+ classMath.getEtudiants().size()); System.out.println(); // Afficher les informations sur les cours d'anglais System.out.println("Informations sur les cours d'anglais:"); System.out.println("Nom de Class: "+ classAnglais.getNomClasse()); System.out.println("Enseignant: "+ classAnglais.getEnseignant().getNom()); System.out.println("Nombre d'étudiants: "+ classAnglais.getEtudiants().size()); System.out.println(); // Afficher les informations sur les cours de sciences System.out.println("Informations sur les cours de sciences:"); System.out.println("Nom de Class: "+ classScience.getNomClasse()); System.out.println("Enseignant: "+ classScience.getEnseignant().getNom()); System.out.println("Nombre d'étudiants: "+ classScience.getEtudiants().size()); System.out.println(); // Supprimer un élève, un enseignant et une classe de l'école ecole.removeEtudiant(et1); ecole.removeEnseignant(es2); ecole.removeClasse(classMath); // Afficher les informations mises à jour sur l'école après la // suppression System.out.println("Informations sur l'école après suppression d'un élève, d'un enseignant et d'une classe:"); System.out.println("Nombre d'étudiants: "+ ecole.getEtudiants().size()); System.out.println("Nombre d'enseignants: "+ ecole.getEnseignants().size()); System.out.println("Nombre de classes: "+ ecole.getClasses().size()); } }
Sortie:
Informations sur l'école: Nombre d'étudiants: 4 Nombre d'enseignants: 3 Nombre de classes: 3 Informations sur les cours de mathématiques: Nom de Class: Mathematics Enseignant: Yohan Sinor Nombre d'étudiants: 4 Informations sur les cours d'anglais: Nom de Class: Anglais Enseignant: Thomas Fiza Nombre d'étudiants: 3 Informations sur les cours de sciences: Nom de Class: Science Enseignant: Olivier Bibo Nombre d'étudiants: 4 Informations sur l'école après suppression d'un élève, d'un enseignant et d'une classe: Nombre d'étudiants: 3 Nombre d'enseignants: 2 Nombre de classes: 2
Exercice 3:
Écrire un programme Java pour créer une classe appelée « BiblioMusicale » avec une collection de chansons et des méthodes pour ajouter et supprimer des chansons, et pour jouer une chanson au hasard.
Diagrame de classe:
// Importer la classe ArrayList du package Java utility import java.util.ArrayList; // Importer la classe Random du package Java utility import java.util.Random; // Définir la classe BiblioMusicale class BiblioMusicale { // Déclarer un champ privé pour stocker une liste de chansons private ArrayList<Chanson> chansons; // Constructeur pour initialiser la liste des chansons public BiblioMusicale() { // Créer une nouvelle ArrayList pour stocker les objets // Chanson. chansons = new ArrayList<Chanson>(); } // Méthode pour ajouter une chanson à la bibliothèque public void addChanson(Chanson song) { // Ajouter la chanson fournie à la liste des chansons chansons.add(song); } // Méthode pour supprimer une chanson de la bibliothèque public void removeChanson(Chanson song) { // Supprimer la chanson fournie de la liste des chansons chansons.remove(song); } // Méthode pour obtenir la liste de toutes les chansons de la // bibliothèque public ArrayList<Chanson> getChanson() { // Retourner la liste des chansons return chansons; } // Méthode pour lire une chanson aléatoire de la bibliothèque public void lireChansonAleatoire() { // Récupérer le nombre de chansons dans la bibliothèque int size = chansons.size(); // Vérifier si la bibliothèque est vide if (size == 0) { // Afficher un message s'il n'y a pas de chansons à lire System.out.println("Il n'y a pas de chansons à lire."); return; // Quitter la méthode } // Créer un nouvel objet Random pour générer un nombre // aléatoire Random rand = new Random(); // Générer un index aléatoire dans l'intervalle de la liste // des chansons int index = rand.nextInt(size); // Afficher le titre et l'artiste de la chanson sélectionnée // de manière aléatoire System.out.println("Lire: "+ chansons.get(index).getTitre() +" par "+ chansons.get(index).getArtist()); } } // Définir la classe Chanson class Chanson { // Champs privés pour stocker le titre et l'artiste de la chanson private String title; private String artist; // Constructeur pour initialiser les champs titre et artiste public Chanson(String title, String artist) { // Définir le champ titre avec le titre fourni this.title = title; // Définir le champ artist avec le artist fourni this.artist = artist; } // Méthode Getter pour récupérer le titre de la chanson public String getTitre() { // Retourner la valeur du champ titre return title; } // Méthode pour modifier le titre de la chanson public void setTitre(String title) { // Définir le champ titre avec le titre fourni this.title = title; } // Méthode Getter pour récupérer l'artist de la chanson public String getArtist() { // Retourner la valeur du champ artist return artist; } // Méthode pour modifier le nom de l'artiste de la chanson public void setArtist(String artist) { // Définir le champ artist avec le artist fourni this.artist = artist; } } // Définir la classe Main public class Main { // Définir la méthode main qui est le point d'entrée du programme public static void main(String[] args) { // Créer une nouvelle instance de la classe BiblioMusicale BiblioMusicale biblio = new BiblioMusicale(); // Ajouter des chansons à la bibliothèque musicale biblio.addChanson(new Chanson("Un clair de lune", "Jean Chérasse")); biblio.addChanson(new Chanson("Cadet Rousselle", "André Hunebelle")); biblio.addChanson(new Chanson("Help!", "Richard Lester")); biblio.addChanson(new Chanson("Baisers volés", "François Truffaut")); biblio.addChanson(new Chanson("Je t'aime", "Serge Gainsbourg")); biblio.addChanson(new Chanson("Staying Alive", "Michel Blanc")); // Afficher toutes les chansons de la bibliothèque musicale System.out.println("Toutes les chansons:"); // Parcourir chaque chanson de la bibliothèque et afficher // son titre et son artiste. for (Chanson chanson : biblio.getChanson()) { System.out.println(chanson.getTitre() + " par " + chanson.getArtist()); } System.out.println("\nLecture d'une chanson aléatoire:"); // Lire et afficher trois fois une chanson choisie au hasard // dans la bibliothèque. biblio.lireChansonAleatoire(); System.out.println(); biblio.lireChansonAleatoire(); System.out.println(); biblio.lireChansonAleatoire(); } }
Sortie:
Toutes les chansons: Un clair de lune par Jean Chérasse Cadet Rousselle par André Hunebelle Help! par Richard Lester Baisers volés par François Truffaut Je t'aime par Serge Gainsbourg Staying Alive par Michel Blanc Lecture d'une chanson aléatoire: Lire: Help! par Richard Lester Lire: Baisers volés par François Truffaut Lire: Help! par Richard Lester
Exercice 4:
Écrivez un programme Java pour créer une classe appelée 'Forme' avec des méthodes abstraites pour calculer la surface et le périmètre, et des sous-classes pour le 'Rectangle', le 'Cercle' et le 'Triangle'.
Diagrame de classe:
// Définir la classe Forme comme une classe abstraite abstract class Forme { // Méthode abstraite pour récupérer la surface de la forme // Cette méthode doit être implémentée par toute sous-classe de // Forme public abstract double getSurface(); // Méthode abstraite permettant d'obtenir le périmètre de la // forme // Cette méthode doit être implémentée par toute sous-classe de // Forme public abstract double getPerimeter(); } // Définir la classe Rectangle, qui hérite la classe Forme class Rectangle extends Forme { // Champs privés pour stocker la longueur et la largeur du // rectangle private double longueur; private double largeur; // Constructeur pour initialiser la longueur et la largeur du // rectangle public Rectangle(double longueur, double largeur) { // Définir le champ longueur à la longueur fournie this.longueur = longueur; // Définir le champ largeur à la largeur fournie this.largeur = largeur; } // Méthode pour calculer et renvoyer la surface du rectangle public double getSurface() { // Calculer la surface en multipliant la longueur et la // largeur return longueur * largeur; } // Méthode pour calculer et renvoyer le périmètre du rectangle public double getPerimeter() { // Calculer le périmètre à l'aide de la formule 2 * (longueur // + largeur) return 2 * (longueur + largeur); } } // Définir la classe Cercle, qui hérite la classe Forme class Cercle extends Forme { // Champ privé pour stocker le rayon du cercle private double rayon; // Constructeur pour initialiser le rayon du cercle public Cercle(double rayon) { // Attribuer au champ rayon le rayon fourni this.rayon = rayon; } // Méthode pour calculer et renvoyer la surface du cercle public double getSurface() { // Calculer la surface en utilisant la formule π * rayon^2 return Math.PI * rayon * rayon; } // Méthode de calcul du périmètre du cercle public double getPerimeter() { // Calculer le périmètre en utilisant la formule 2*π*rayon return 2 * Math.PI * rayon; } } // Définir la classe Triangle, qui hérite la classe Forme class Triangle extends Forme { // Champs privés pour stocker les côtés du triangle private double c1; private double c2; private double c3; // Constructeur pour initialiser les côtés du triangle public Triangle(double c1, double c2, double c3) { this.c1 = c1; this.c2 = c2; this.c3 = c3; } // Méthode pour calculer et renvoyer la surface du triangle public double getSurface() { // Calculer le semi-périmètre double s = (c1 + c2 + c3) / 2; // Calculer la surface à l'aide de la formule de Heron return Math.sqrt(s * (s - c1) * (s - c2) * (s - c3)); } // Méthode pour calculer et renvoyer le périmètre du triangle public double getPerimeter() { // Calculer le périmètre en additionnant les côtés return c1 + c2 + c3; } } // Définir la classe Main public class Main { // Définir la méthode main qui est le point d'entrée du programme public static void main(String[] args) { // Créer un rectangle de longueur 15 et de largeur 20 Forme rectangle = new Rectangle(15, 20); // Créer un cercle de rayon 5 Forme circle = new Cercle(5); // Créer un triangle dont les côtés sont 5, 7 et 9 Forme triangle = new Triangle(5, 7, 9); System.out.println("\nSurface et périmètre de différentes formes:"); // Afficher les détails et calculs du rectangle System.out.println("\nRectangle:"); System.out.println("Surface: "+ rectangle.getSurface()); System.out.println("Périmètre: "+ rectangle.getPerimeter()); // Afficher les détails et calculs du cercle System.out.println("\nCercle:"); System.out.println("Surface: "+ circle.getSurface()); System.out.println("Périmètre: "+ circle.getPerimeter()); // Afficher les détails et calculs du triangle System.out.println("\nTriangle:"); System.out.println("Surface: "+ triangle.getSurface()); System.out.println("Périmètre: "+ triangle.getPerimeter()); } }
Sortie:
Surface et périmètre de différentes formes: Rectangle: Surface: 300.0 Périmètre: 70.0 Cercle: Surface: 78.53981633974483 Périmètre: 31.41592653589793 Triangle: Surface: 17.41228014936585 Périmètre: 21.0
Exercice 5:
Écrire un programme Java pour créer une classe appelée « Film » avec des attributs pour le titre, le directeur, les acteurs et les avis, et des méthodes pour ajouter et récupérer des avis.
Diagrame de classe:
// Importer les classes ArrayList et Arrays du package Java utility import java.util.ArrayList; import java.util.Arrays; // Définir la classe Film class Film { // Champs privés pour stocker le titre, le directeur, les acteurs // et les avis sur le film. private String titre; private String directeur; private ArrayList<String> acteurs; private ArrayList<Avis> avis; // Constructeur pour initialiser le titre, le directeur et les // acteurs du film public Film(String titre, String directeur, ArrayList<String> acteurs) { this.titre = titre; this.directeur = directeur; this.acteurs = acteurs; this.avis = new ArrayList<Avis>(); } // Méthode pour ajouter un avis sur le film public void addAvis(Avis a) { // Ajouter l'avis fourni à la liste des avis this.avis.add(a); } // Méthode pour récupérer la liste de toutes les avis du film public ArrayList<Avis> getAvis() { // Renvoyer la liste des avis return this.avis; } // Méthode pour récupérer le titre du film public String getTitre() { // Retourner la valeur du champ titre return this.titre; } // Méthode pour récupérer le directeur du film public String getDirecteur() { // Retourner la valeur du champ directeur return this.directeur; } // Méthode pour récupérer la liste des acteurs d'un film public ArrayList<String> getActeurs() { // Retourner la liste des acteurs return this.acteurs; } } // Définir la classe Avis class Avis { // Champs privés pour stocker le texte de l'avis, le nom de // l'avis et la note. private String textAvis; private String nomAvis; private double note; // Constructeur pour initialiser le texte de l'avis, le nom de // l'avis et la note. public Avis(String textAvis, String nomAvis, double note) { this.textAvis = textAvis; this.nomAvis = nomAvis; this.note = note; } // Méthode pour récupérer le texte de l'avis public String getTextAvis() { // Retourner la valeur du champ textAvis return textAvis; } // Méthode pour récupérer le nom de l'avis public String getNomAvis() { // Retourner la valeur du champ nomAvis return nomAvis; } // Méthode pour récupérer la note public double getNote() { // Retourner la valeur du champ note return note; } } // Définir la classe Main public class Main { // Définir la méthode main qui est le point d'entrée du programme public static void main(String[] args) { // Créer un objet film Film f1 = new Film("La Roue", "Jean Servais", new ArrayList(Arrays.asList("Pierre Pelletier", "Pierre Mondy"))); // Créer des objets d'avis Avis avis1 = new Avis("Excellent film!", "Alex Babtise", 5.0); Avis avis2 = new Avis("Fortement recommandé!", "Jean Zino", 4.5); Avis avis3 = new Avis("Un film magnifique", "Bob Polib", 4.0); // Ajouter un avis sur f1 f1.addAvis(avis1); f1.addAvis(avis2); f1.addAvis(avis3); // Afficher tous les avis sur 'La Roue' System.out.println("\nAvis pour '" + f1.getTitre() + "':"); for (Avis a : f1.getAvis()) { System.out.println(a.getTextAvis() +" par "+ a.getNomAvis() +" - "+ a.getNote()); } } }
Sortie:
Avis pour 'La Roue': Excellent film! par Alex Babtise - 5.0 Fortement recommandé! par Jean Zino - 4.5 Un film magnifique par Bob Polib - 4.0
Éditeur de code Java: Testez votre code en ligne!
Exercices corrigés Java - Programmation Orientée Objet | Partie 2
Exercices corrigés Java - Programmation Orientée Objet | Partie 3
Exercices corrigés Java - Programmation Orientée Objet | Partie 4
Exercices corrigés Java - Programmation Orientée Objet | Partie 5
Exercices corrigés Java - Programmation Orientée Objet | Partie 6
- Exercice Java Corrigé pour Débutant | Partie 1
- Exercice Java Corrigé pour Débutant | Partie 2
- Exercice Java Corrigé pour Débutant | Partie 3
- Exercice Java Corrigé pour Débutant | Partie 4
- Exercice Java Corrigé pour Débutant | Partie 5
- Exercice Java Corrigé pour Débutant | Partie 6
- Exercice Java Corrigé pour Débutant | Partie 7
- Exercice Java Corrigé pour Débutant | Partie 8
- Exercice Java Corrigé pour Débutant | Partie 9
- Exercice Java Corrigé pour Débutant | Partie 10
- Exercice Java Corrigé – Méthodes Récursives
- Exercice Java Corrigé sur les Collections – Arraylist – Partie 1
- Exercice Java Corrigé sur les Collections – Arraylist – Partie 2
- Exercice Java Corrigé sur les Collections – Arraylist – Partie 3
- Exercice Java Corrigé sur les Collections – Arraylist – Partie 4
- Exercice Java Corrigé sur les Collections – LinkedList – Partie 1
- Exercice Java Corrigé sur les Collections – LinkedList – Partie 2
- Exercice Java Corrigé sur les Collections – LinkedList – Partie 3
- Exercice Java Corrigé sur les Collections – HashSet
- Exercice Java Corrigé sur les Collections – TreeSet – Partie 1
- Exercice Java Corrigé sur les Collections – TreeSet – Partie 2
- Exercice Java Corrigé sur les Collections – PriorityQueue
- Exercice Java Corrigé sur les Collections – HashMap
- Exercice Java Corrigé sur les Collections – TreeMap
- Exercices corrigés Java POO – Constructeurs
- Exercices corrigés Java – Programmation Orientée Objet | Partie 1
- Exercices corrigés Java – Programmation Orientée Objet | Partie 2
- Exercices corrigés Java – Programmation Orientée Objet | Partie 3
- Exercices corrigés Java – Programmation Orientée Objet | Partie 4
- Exercices corrigés Java – Programmation Orientée Objet | Partie 5
- Exercices corrigés Java – Programmation Orientée Objet | Partie 6
- Exercice Java Corrigé sur POO – Polymorphism
- Exercice Java Corrigé – POO – Interfaces
- Exercice Java Corrigé – POO – Classe Abstraite
- Exercice Java Corrigé – POO – Classes Imbriquées
- Exercices corrigés Java les classes et l’héritage – Partie 1
- Exercices corrigés Java les classes et l’héritage – Partie 2
- Exercice Java Corrigé – Gestion Des Exceptions