Piles

Flooby Messages postés 5 Date d'inscription dimanche 2 octobre 2005 Statut Membre Dernière intervention 16 mars 2009 - 2 oct. 2005 à 21:48
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 - 4 oct. 2005 à 12:43
Bonjour, je suis vraiment debutant en JAVA et j'ai besoin d'aide pour mon cours d'algo car j'ai un exposé a rendre demain.
J'aimerai effectuer l'implementation d'une pile par un tableau.
Je vous montre mon code mais jevous previens il est catastrophique car je jongle avec des notions que je n'ai meme pas appris en cours.
Pouvez vous prendre quelques minutes pour me le corriger concretement et me dire quelles sont mes erreurs car le code ne se compile meme pas.
Merci d'avance

public class Pile{
private int table [];
public Pile (int pile []){
table=pile;

int i;
while (table[i]!=0){
i++;
}
//Empiler
public int empiler( int élément){
// on voit quand est ce que le tableau n’est plus rempli
// on teste la taille du tableau
try{
int table[i+1]=new int (élement);
throws ExceptionPilePleine;
}
catch (ExceptionPilePleine e){
System.out.println("La pile est pleine");
}
}

//Depiler
public int dépiler(){
try{
int table[i]= new int (O);
throws ExceptionPileVide;
}
catch (ExceptionPileVide e){
System.out.println("La pile est deja vide");
}
}

//Taille
public int taille(){
System.out.println("la taille est"+i+);
}
//Haut
public int haut(){
System.out.println("l’élément du haut est"+[i]+);
}


//EstVide
public boolean EstVide(){
if i=0
System.out.println("La pile est vide");
else
System.out.println("La pile n’est pas vide");
};
};
}

Je sais, c'est catastrophique mais bon, j'ai fait que trois cours d'info depuis le debut de l'année!
Merci de votre comprehension

3 réponses

indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
3 oct. 2005 à 09:21
Slut
plusieurs erreurs (courantes pour les débutants) :
1)Tu ne renvoies rien ici (alors qu'il faudrait renvoyer un booléen) :
//EstVide
public boolean EstVide(){
if i=0
System.out.println("La pile est vide");
else
System.out.println("La pile n’est pas vide");
};
};

2)Là aussi
//Haut
public int haut(){
System.out.println("l’élément du haut est"+[i]+);
}

.
.
.

Je pense que le code devrait être le suivant (pas sûr, j'ai fait ça à l'arrache) :
/**Classe Pile*/
public class Pile{
//Variables globales
private int i;
private int table [];


/**Constructeur*/
public Pile (int pile[]){
table = pile;
i = -1;
int i;
while (table[i]!=0){
i++;
}


//Empiler
public void empiler( int élément) throws ExceptionPilePleine {
// on voit quand est ce que le tableau n’est plus rempli
// on teste la taille du tableau
try{
i++;
table[i+1] = élement;


} catch (ExceptionPilePleine e){
System.out.println("La pile est pleine");
i--;
}
}


//Depiler
public void dépiler() throws ExceptionPileVide {
try{
table[i]= 0;
i--;
}
catch (ExceptionPileVide e){
System.out.println("La pile est deja vide");
}
}


//Taille
public int taille(){
System.out.println("la taille est"+i);
return i;
}


//Haut
public int haut() throws ExceptionPileVide {
try{
System.out.println("l’élément du haut est"+[i]);
return table[i];
}
catch (ExceptionPileVide e){
System.out.println("La pile est deja vide");
return -1;
}
}



//EstVide
public boolean EstVide(){
if (i=0) {
System.out.println("La pile est vide");
}
else {
System.out.println("La pile n’est pas vide");
}


return (i>=0);
}
}

Voilà

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte
0
Flooby Messages postés 5 Date d'inscription dimanche 2 octobre 2005 Statut Membre Dernière intervention 16 mars 2009
3 oct. 2005 à 19:48
Salut! Merci de ta reponse! on est mieux recu ici que dans d'autres forums dont je ne citerai pas le nom et ou on m'a dit que mon travail etait catastrophique!!!!
Par contre ton code ne compile pas non plus!
0
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
4 oct. 2005 à 12:43
C'est pas impossible, j'ai fait ça très vite (entre 2 séances de travail). Tu peux m'afficher les erreurs de compils ?

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte
0
Rejoignez-nous