Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1484 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Probleme pour vider une arrayList

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme pour vider une arrayList

n°1724916
ophelie88
Posté le 26-04-2008 à 13:40:58  profilanswer
 

Bonjour, pour un projet a faire pour la fac, je dois gérer un panier d'achat.
 
Lors de la validation du panier, on procede au paiement(qu'on a pas a programmer) et ensuite j'aimerais vider le panier.
Mon probléme, c'est que ma fonction n'enléve que le premier élément. Comment faire pour tout supprimer?
 
Voici une partie de mon code:
 
public class Panier  
{private java.util.ArrayList <Pieces> panier = new ArrayList <Pieces> ();
 
 /*---Methodes---*/
 public void ajouter(Pieces P)
  {panier.add(P);}
 
 public void supprimer (Pieces P)
  {panier.remove(P);}
 
 public void viderPanier()
  {for (Pieces p:panier)
   {supprimer(p);}
   System.out.println("Le panier est vide." );
   afficherPanier();
  }
 
 
Merci de votre aider :p

mood
Publicité
Posté le 26-04-2008 à 13:40:58  profilanswer
 

n°1724925
masklinn
í dag viðrar vel til loftárása
Posté le 26-04-2008 à 14:15:41  profilanswer
 

http://java.sun.com/j2se/1.5.0/doc [...] ml#clear()
 
edit: et on n'est pas censé modifier une collection pendant qu'on itère dessus [:petrus75]


Message édité par masklinn le 26-04-2008 à 14:16:53

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1724933
ophelie88
Posté le 26-04-2008 à 14:55:38  profilanswer
 

Comment faire pour vider mon arrayList alors?

n°1724934
masklinn
í dag viðrar vel til loftárása
Posté le 26-04-2008 à 14:56:38  profilanswer
 

ophelie88 a écrit :

Comment faire pour vider mon arrayList alors?


Tu as du mal avec la lecture?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1724935
ophelie88
Posté le 26-04-2008 à 15:04:14  profilanswer
 

non, mais j'ai pas d'idées pour vider.

n°1724936
Profil sup​primé
Posté le 26-04-2008 à 15:06:20  answer
 

Je crois qu'il faille que vous utilisiez "Clear", d'ou le lien de Masklinn.
 
Enfin, je crois hein.

n°1724937
ophelie88
Posté le 26-04-2008 à 15:08:07  profilanswer
 

Je v essayer. J'ai regarder le lien, j'ai surtout lu les propriétés pour le remove ^^

n°1724939
ophelie88
Posté le 26-04-2008 à 15:14:41  profilanswer
 

Quelqu'un serait comment l'implementer? car je veux bien mettre:
 
public void clear()
 
mais je mets quoi dedans?

n°1724940
masklinn
í dag viðrar vel til loftárása
Posté le 26-04-2008 à 15:25:08  profilanswer
 

ophelie88 a écrit :

Quelqu'un serait comment l'implementer? car je veux bien mettre:
 
public void clear()
 
mais je mets quoi dedans?


 [:prozac]  
 
Tu pourrais pas juste lire la documentation de la méthode dont j'ai fourni le lien [:petrus dei]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1724941
Profil sup​primé
Posté le 26-04-2008 à 15:25:54  answer
 

Je crois pas que tu ai à implémenter quoi que ce soit.
 
D'après mes calcul, il faudrai que tu fasse un truc du genre  

Code :
  1. Clear(panier);

mood
Publicité
Posté le 26-04-2008 à 15:25:54  profilanswer
 

n°1724943
ophelie88
Posté le 26-04-2008 à 15:36:50  profilanswer
 

C bon, j'ai trouvé, voila le resultat:
 
public void viderpanier()  
  {panier.clear();
   System.out.println("Le panier est vide." );
          afficherPanier();  
  }
 
merci

n°1724945
masklinn
í dag viðrar vel til loftárása
Posté le 26-04-2008 à 15:37:28  profilanswer
 


D'après mes calculs, tu te plantes comme une grosse buse, et je vais te demander d'arrêter de poster.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1724947
juliuscesa​r
Posté le 26-04-2008 à 15:38:35  profilanswer
 

vous le faites tous exprès ? oO

n°1724948
ophelie88
Posté le 26-04-2008 à 15:39:27  profilanswer
 

Maintenant j'ai un autre probléme du méme type, j'ai changer entre temps mon arraylist, qui comprend une classe Achat. Elle a en attribut, une piéce et le nombre qu'on veux en acheter.
 
Et j'ai des probléme pour en supprimer juste une, qui et du méme genre que celle d'avant, car je veut supprimer alors que j'itére:
 
public class Panier  
{private java.util.ArrayList <Achat> panier = new ArrayList <Achat> ();
 
 /*---Methodes---*/
 public void ajouter(Achat A)
  {panier.add(A);}
 
 public void supprimer (Pieces p)
  {for ( Achat a:panier)
   {if ((p.reference()).equals(a.getP().reference()))
    if(a.getNb() != 1)
     {supprimerAchat(a);}
    else{a.setNb(a.getNb()-1);}
   }
  }
 public void supprimerAchat( Achat a)
  {panier.remove(a);}
 
 public void viderpanier()  
  {panier.clear();
   System.out.println("Le panier est vide." );
      afficherPanier();  
  }

n°1724949
ophelie88
Posté le 26-04-2008 à 15:40:16  profilanswer
 

erreur ds le code * if(a.getNb() == 1)

n°1724950
masklinn
í dag viðrar vel til loftárása
Posté le 26-04-2008 à 15:41:00  profilanswer
 

Pourrais tu commencer par utiliser la balise code? Parce que là c'est illisible

 

Ensuite, nous expliquer ce que sont censés faire des trucs comme getP ou reference, parce que ma boule de cristal est en révision chez le garagiste [:petrus75]


Message édité par masklinn le 26-04-2008 à 15:41:53

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1724952
ophelie88
Posté le 26-04-2008 à 15:47:12  profilanswer
 

alors voila mes deux classes:
Classe Achat

Code :
  1. public class Achat
  2. {/*---Attribut---*/
  3. private Pieces p;
  4. private int nb;
  5. /*---constructeurs---*/
  6. public Achat() {}
  7. public Achat (Pieces p)
  8.  {this.p = p;}
  9. public Achat(Pieces p, int nb)
  10.  {this.p = p;
  11.   this.nb = nb;
  12.  }
  13. /*---Accesseurs---*/
  14. public Pieces getP() {return p;}
  15. public int getNb() {return nb;}
  16. public void setP(Pieces p)
  17.  {this.p = p;}
  18. public void setNb(int nb)
  19.  {this.nb = nb;}


 
 
 
Classe Panier:
 

Code :
  1. public class Panier
  2. {private java.util.ArrayList <Achat> panier = new ArrayList <Achat> ();
  3. /*---Methodes---*/
  4. public void ajouter(Achat A)
  5.  {panier.add(A);}
  6. public void supprimer (Pieces p)
  7.  {for ( Achat a:panier)
  8.   {if ((p.reference()).equals(a.getP().reference()))
  9.    if(a.getNb() == 1)
  10.     {supprimerAchat(a);}
  11.    else{a.setNb(a.getNb()-1);}
  12.   }
  13.  }
  14. public void supprimerAchat( Achat a)
  15.  {panier.remove(a);}
  16. public void viderpanier()
  17.  {panier.clear();
  18.   System.out.println("Le panier est vide." );
  19.      afficherPanier();
  20.  }


 
Les getP, c'est l'accesseurs pour recuperer la piéce, et getNb, celui pour savoir le nombre de cette piece qui est acheté


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Probleme pour vider une arrayList

 

Sujets relatifs
Problème d'accents en phpProblème avec script en php avec iis, droit sur serveur distant
Tout petit problème en phpproblème pour valider un fichier xml avec un xsd composé
problème avec un formulaire [résolu]problème débutant: appel méthode
probleme javaproblème avec "ALTER SESSION SET NSL_TERRITORY" [résolu]
Problème d'ajout vb6Probleme sur une macro excel qui ne copie pas tout
Plus de sujets relatifs à : Probleme pour vider une arrayList


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR