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
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;
	}
 
}
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
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");
	}
}
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
    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;
    }
}