Pile java

loulou -  
choubaka Messages postés 39442 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

j'ai un petit problem dans ma pgm
le pgm n'affiche pas la pile
public class pile {
int val;
private boolean vide;
private pile reste;
public pile(){
vide=true;
reste=null;
}
public boolean pile_vide(){
return vide;
}
public pile empiler(int v){
pile p=new pile();
p.reste=reste;
p.val=val;
p.vide=vide;
reste=p;
val=v;
return this;
}
public pile depiler(){
if (!pile_vide()){
val=reste.val;
vide=reste.vide;
reste=reste.reste;
}
return this;
}
public int sommet(){
if(!pile_vide())
return val;
return 0;
}
public pile miroire (pile p) {
pile p1=new pile();
int v;
while(!p.pile_vide()){
v=p.val;
p.val=v;
p=p.depiler();
}
return p1;
}
}


public class asd {

public static void main(String[] args) {

pile p=new pile(),p1=new pile();
System.out.println("\nla pile p:\n==========\n"+p.empiler(1));
p.empiler(10).empiler(3).empiler(5).empiler(28).empiler(2).empiler(7);

System.out.println(p.sommet());
p1.empiler(7);
p1.sommet();


p.empiler(12);

}


}








A voir également:

3 réponses

Templier Nocturne Messages postés 7734 Date d'inscription   Statut Membre Dernière intervention   1 106
 
tu commente jamais tes codes ? :(

un code bien commenté est beaucoup plus clair, c'esrt important pour ceux qui te relisent qui ne savent pas forcement ce que tu as voulu faire, et pour toi si un jour tu dois reprendre ton code pour le modifier, tu ne te souviendrais peut être pas de ce que tu as voulu faire... là ton code est assez court, mais si tu fait un code de 500 ou 1000 lignes, tu vas être perdu ;)
0
loulou
 
Le problème n'est pas dans la taille du programme
Mais le problème dans la methode main
p.empiler(10).empiler(3).empiler(5).empiler(28).empiler(2).empiler(7);
0
choubaka Messages postés 39442 Date d'inscription   Statut Modérateur Dernière intervention   2 105
 
salut

Le problème aussi c'est que tu ne suis pas les conventions de programmation;

Essaye de réécrire ton code en nommant ta classe avec une Majuscule "Pile" et tes instances avec une minuscule du style "currentPile", celà rendra ton code plus clair.
Dans ton code "pile" fait référence à pas mal d'objet et je pense que le compilateur (même s'il ne remonte pas d'erreur) fait des confusions.
0