Probleme pour vider une arrayList - Java - Programmation
Marsh Posté le 26-04-2008 à 14:15:41
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
Marsh Posté le 26-04-2008 à 14:55:38
ReplyMarsh Posté le 26-04-2008 à 14:56:38
ophelie88 a écrit : Comment faire pour vider mon arrayList alors? |
Tu as du mal avec la lecture?
Marsh Posté le 26-04-2008 à 15:06:20
Je crois qu'il faille que vous utilisiez "Clear", d'ou le lien de Masklinn.
Enfin, je crois hein.
Marsh Posté le 26-04-2008 à 15:08:07
Je v essayer. J'ai regarder le lien, j'ai surtout lu les propriétés pour le remove ^^
Marsh Posté le 26-04-2008 à 15:14:41
Quelqu'un serait comment l'implementer? car je veux bien mettre:
public void clear()
mais je mets quoi dedans?
Marsh Posté le 26-04-2008 à 15:25:08
ophelie88 a écrit : Quelqu'un serait comment l'implementer? car je veux bien mettre: |
Tu pourrais pas juste lire la documentation de la méthode dont j'ai fourni le lien
Marsh Posté le 26-04-2008 à 15:25:54
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 :
|
Marsh Posté le 26-04-2008 à 15:36:50
C bon, j'ai trouvé, voila le resultat:
public void viderpanier()
{panier.clear();
System.out.println("Le panier est vide." );
afficherPanier();
}
merci
Marsh Posté le 26-04-2008 à 15:37:28
D'après mes calculs, tu te plantes comme une grosse buse, et je vais te demander d'arrêter de poster.
Marsh Posté le 26-04-2008 à 15:39:27
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();
}
Marsh Posté le 26-04-2008 à 15:41:00
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
Marsh Posté le 26-04-2008 à 15:47:12
alors voila mes deux classes:
Classe Achat
Code :
|
Classe Panier:
Code :
|
Les getP, c'est l'accesseurs pour recuperer la piéce, et getNb, celui pour savoir le nombre de cette piece qui est acheté
Marsh Posté le 26-04-2008 à 13:40:58
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