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

1.4 KiB

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