Aller au contenu

TP2 — Gestion de stock avec ArrayList (fin semaine 1)

Vous devez développer un mini système de gestion de stock pour une boutique informatique. Le stock n’est pas fixe : on peut ajouter, modifier, supprimer ou rechercher des produits. Ce TP permet de découvrir les ArrayList, très utiles lorsque le nombre d’éléments peut évoluer en permanence. Vous allez découvrir que la classe ArrayList possède de nombreuses méthodes très pratiques !

Compétences

Prérequis

Travail demandé

Créer une classe Java nommée GestionStock. Chaque produit possède :

Les données seront stockées dans plusieurs ArrayList. Il y a 4 ArrayList distinctes pour gérer les données des produits :

Pourquoi plusieurs ArrayList pour ce TP ?

Simplicité de mise en œuvre sans faiere intervenir les notions de POO. Il est plus simple de comprendre et de manipuler des listes séparées pour chaque attribut d’un produit. Vous pouvez acccèder directement aux données :

Chaque attribut est accessible directement par son index, ce qui facilite les opérations de lecture et de mise à jour, mais il y a forcément des inconvénients de cette approche :

Cependant pas d’inquiétude, nous reprendrons cette étude de cas pour la transformer en POO avec du code propre et plus simple !

Fonctionnalités à réaliser

  1. Initialiser le stock

Prévoir une méthode d’initialisation qui ajoute quelques produits au démarrage du programme. Pour vous aider, voici les produits que vous pouvez avoir :

ajouterProduitDirect("PRD001", "Ordinateur portable", 15, 899.99);
ajouterProduitDirect("PRD002", "Souris sans fil", 75, 29.99);
ajouterProduitDirect("PRD003", "Clavier mécanique", 45, 89.99);
ajouterProduitDirect("PRD004", "Écran 24 pouces", 8, 249.99);
ajouterProduitDirect("PRD005", "Webcam HD", 30, 79.99);
  1. Afficher un menu principal

Le programme doit proposer les choix suivants :

menu

  1. Afficher le stock

Afficher tous les produits avec :

Afficher aussi le nombre total de produits.

Exemple d’écran (faites plus simple) avec l’option 1. Afficher le stock

menu afficher le stock

  1. Ajouter un produit

L’utilisateur doit pouvoir saisir :

Le programme doit vérifier qu’aucun autre produit ne possède déjà le même code.

  1. Modifier la quantité

Après avoir saisi un code produit, le programme doit proposer :

  1. Supprimer un produit

La suppression doit être confirmée par l’utilisateur avant d’être effectuée.

  1. Rechercher un produit

Prévoir deux modes de recherche :

Si un produit est trouvé, ses informations détaillées doivent être affichées.

  1. Afficher les statistiques (optionnel)

Le programme doit calculer :

  1. Afficher les alertes stock

Prévoir 2 niveaux d’alerte :

Afficher la liste des produits concernés.

Contraintes

Aide

Si vous utilisez plusieurs ArrayList, les données d’un même produit doivent toujours avoir le même index !

Pour retrouver un produit à partir de son code, vous pouvez utiliser :

int index = codesProduits.indexOf(code);

Pour modifier une valeur dans une ArrayList, utilisez la méthode set(index, nouvelleValeur)

Pour supprimer un produit, il faut supprimer les éléments dans toutes les listes !

Bonus