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 !
ArrayList
Scanner
Créer une classe Java nommée GestionStock. Chaque produit possède :
GestionStock
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 !
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);
Le programme doit proposer les choix suivants :
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
L’utilisateur doit pouvoir saisir :
Le programme doit vérifier qu’aucun autre produit ne possède déjà le même code.
Après avoir saisi un code produit, le programme doit proposer :
La suppression doit être confirmée par l’utilisateur avant d’être effectuée.
Prévoir deux modes de recherche :
Si un produit est trouvé, ses informations détaillées doivent être affichées.
Le programme doit calculer :
Prévoir 2 niveaux d’alerte :
Afficher la liste des produits concernés.
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)
set(index, nouvelleValeur)
Pour supprimer un produit, il faut supprimer les éléments dans toutes les listes !