EXO-JAVA-Collections
Contexte
Vous devez développer une application de gestion de bibliothèque permettant de gérer un catalogue de livres et leurs emprunts.
Objectifs
- Créer une classe
Livrereprésentant un livre avec ses caractéristiques - Implémenter une classe
Bibliothequeutilisant les collections Java - Gérer les emprunts de livres à l'aide d'une Map
- Tester toutes les fonctionnalités
Spécifications techniques
Classe Livre
- Attributs :
- ISBN (String) : identifiant unique du livre
- Titre (String)
- Auteur (String)
- Année de publication (int)
- Disponibilité (boolean)
- Méthodes :
- Constructeurs
- Getters/Setters
- equals() et hashCode() basés sur l'ISBN
- toString() pour l'affichage
Classe Bibliotheque
- Utiliser une List pour stocker tous les livres
- Utiliser une Map pour gérer les emprunts (ISBN → Date d'emprunt)
- Méthodes à implémenter :
- ajouterLivre(Livre livre)
- supprimerLivre(String isbn)
- rechercherLivre(String isbn)
- emprunterLivre(String isbn)
- rendreLivre(String isbn)
- getLivresDisponibles()
- getLivresEmpruntes()
Contraintes
- Utiliser les génériques Java
- Gérer les cas d'erreur (livre non trouvé, déjà emprunté, etc.)
- Documenter le code avec des commentaires JavaDoc
- Écrire des tests unitaires complets
Livrables
- Code source complet
- Documentation JavaDoc
- Exemple d'utilisation dans une classe Main ou App
- Respect des bonnes pratiques Java
Description
Languages
Java
100%