Bonsoir cher membres
Voilà, mon problème. Je suis en pleine avance dans un exercice mais arrive à la partie ou ont dit, je vous la recopie.
( Deuxième version : levée d'exceptions
Les méthodes add et remove de la classe Stock devront gérer les erreurs d’ajout d’un Produit dans un stock plein ou
de retrait d’un Produit d’un stock vide, en levant des exceptions (StockFull ou StockEmpty) que vous aurez à
définir. )
Je n’arrive pas à résoudre cette partie, a codé les exceptions en fait.
Merci de m'aider. Je vous recopie mes 3 classes afin de voir ou je peux insérer l'exception et aussi s'il y a d'éventuel modifications a faire.
Voici le code de la classe stock
Et voici aussi le main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 public class Stock { private static int Size=0; private Produit[] Content; //Constructeur d'initialisation public Stock(int taille){ Content=new Produit[taille]; } //Méthode d'ajout d'un produit public void add(Produit p){ int trouve=-1; for(int i=0;i<Size;i++){ if(p.getName().equalsIgnoreCase(Content[i].getName())){ trouve=1; break; } } if(trouve==-1){ Content[Size]=p; Size++; }else{ System.out.println("Ce produit existe déja."); } } //Méthode de suppression public Produit remove(){ Produit p=Content[Size-1]; Size--; return p; } //Méthode pour vérifier si le stock est vide public Boolean isEmpty(){ Boolean result; if(Size==0){ result= true; }else{ result=false; } return result; } //Méthode pour vérifier si le stock est plein public Boolean isFull(){ Boolean result; if(Content.length==Size){ result=true; }else{ result=false; } return result; } //Méthode pour connaitre le nombre de produits dans le stock public int getSize(){ return Size; } //Méthode pour lister les produits du stock.çà c'est un bonus ce n'est pas demandé public void listeStock(){ for(int i=0;i<Size;i++){ System.out.println(Content[i]); } } //Méthode tostring public String toString(){ return "Stock contenant "+Size+" produits .Sa taille maimale est : "+Content.length; } }
Enfin, mon code produit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69 import java.util.Scanner; public class Main { public static void main(String[] args) { int choix=0; String continuer="non"; Scanner sc=new Scanner(System.in); Stock st=new Stock(6); //Creation d'un menu do { System.out.println("======== Gestion de Produits ==========="); System.out.println("1) Ajouter un produit"); System.out.println("2) Nombre total de produits"); System.out.println("3) Le stock est il vide?"); System.out.println("4) Le stock est il plein?"); System.out.println("5) Taille du stock"); System.out.println("6) Liste des produits du stock"); System.out.println("========================================"); System.out.println("Veuillez faire un choix"); //Récupération du choix de l'utilisateur choix=sc.nextInt(); switch(choix){ case 1: System.out.println("Entrez nom du produit"); String nom=sc.next(); Produit p=new Produit(nom); st.add(p); //System.out.println(p); break; case 2: System.out.println("Nombre total de produits créés="+(new Produit()).getNumberCreated()); break; case 3: if(st.isEmpty()){ System.out.println("Stock vide"); }else{ System.out.println("Le Stock contient des produits"); } break; case 4: if(st.isFull()){ System.out.println("Stock plein"); }else{ System.out.println("Le Stock peut encore recevoir de produits"); } break; case 5: System.out.println("Taille du stock: "+st.getSize()); break; case 6: st.listeStock(); break; default: System.out.println("Choix invalide"); } System.out.println("voulez vous continuer? oui/non"); continuer=sc.next(); }while(continuer.equalsIgnoreCase("oui")); System.out.println("Aurevoir"); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 public class Produit { private String name; private static int compteur=1; private int number; //Création du constructeur public Produit(){} public Produit(String name){ number=compteur; this.name=name; compteur=compteur+1; } //Récupération du nom du produit public String getName(){ return name; } //Récupération du numéro du produit public int getNumber(){ return number; } //nombre total de produits créés public int getNumberCreated(){ return compteur-1; } public String toString() { return "Nom produit:"+name+" Numéro:"+number; } }
Partager