Files
tp-java-collections/README.md
Vincent Guillet 7334089f81 first commit
2025-04-28 17:34:15 +02:00

55 lines
1.4 KiB
Markdown

# 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
1. Créer une classe `Livre` représentant un livre avec ses caractéristiques
2. Implémenter une classe `Bibliotheque` utilisant les collections Java
3. Gérer les emprunts de livres à l'aide d'une Map
4. 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
1. Code source complet
2. Documentation JavaDoc
3. Exemple d'utilisation dans une classe Main ou App
- Respect des bonnes pratiques Java