Salut!
J'essaye de traiter les pile en Java avec l'implémentation des interfaces, j'ai des problème avec mon code
j'ai un tableau de type object je voulais insérer un entier puis un float puis un string mais j'ai une erreur de ce type

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Exception in thread "main" java.lang.NullPointerException
	at PileTableau.empiler(PileTableau.java:21)
	at TestPile.main(TestPile.java:18)
voici mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
public interface Pile {
 
	public void empiler(Object element);
	public void depiler() ;
 
	public boolean isPileVide();
	public Object sommet();
 
}

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
public class PileTableau implements Pile {

	private int tailleMax = 1000; // Taille maximale
	private int sommet = -1; // Sommet du tableau
	private Object tableau[];
	
		
		public PileTableau(int tmax)
		{
			this.tailleMax=tmax;
		}

	
	@Override
	public void empiler (Object x)
	{ 
		//ajouter un new 
	sommet++ ;
	
	tableau [sommet] =x ; //erreur ici
	
	}
	@Override
	public void depiler() {
		
		 if (isPileVide ())
		System.out.println ("Pile vide.") ;
		else
		{
		
		tableau [sommet] = null ;
		sommet-- ;
		}
		}
		
	
	@Override
	public boolean isPileVide() {
		if(sommet == -1)
		return true;
		else
			return false;
	}
	@Override
	public Object sommet() {
		// TODO Auto-generated method stub
		return tableau[sommet];
	}

}
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
import java.util.Scanner;
 
 
public class TestPile {
 
	/**
         * @param args
         */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		PileTableau p=new PileTableau(1000);
 
		Scanner s = new Scanner(System.in);
 
		// pour lire un entier n il suffit d’écrire
		System.out.println("veuillez saisir un entier");
		int n = s.nextInt();
		p.empiler(n);//empiler un entier
 
 
		// pour lire un flottant x :
		System.out.println("veuillez saisir un float");
		float x = s.nextFloat();
		p.empiler(x);//empiler un float
 
 
		// pour lire un double y :
		System.out.println("veuillez saisir un double");
		double y = s.nextDouble();
		p.empiler(y);//empiler un double
 
 
		// Pour lire une chaîne
		System.out.println("veuillez saisir un String");
		String mot = s.next (); 
		p.empiler(mot);//empiler un string
 
		System.out.println("veuillez saisir un String");
		String ligne = s.nextLine();
		p.empiler(ligne);
 
	//	for(int i=0;i<p.;i++)
//System.out.println("les éléments de la pile sont :\n",);
	}
 
}