Bonjour;
j'ai une variable de type:
et ce VenteBean contient des attributs, je veux faire la somme sur un de ces attributs sur les lists retourner. est ce que vous avez des idées.Code:List<VenteBean> l;
merci
Version imprimable
Bonjour;
j'ai une variable de type:
et ce VenteBean contient des attributs, je veux faire la somme sur un de ces attributs sur les lists retourner. est ce que vous avez des idées.Code:List<VenteBean> l;
merci
A part parcourir la liste dans une boucle ? Non il n'y a pas.
Bonjour,
Tu peux soit faire une boucle for pour accéder aux différentes instances de VenteBean via leur indice (méthode get(indice) à appeler sur la liste), soit utiliser un iterator :
Personnellement, je préfère la 2ème solution.Code:
1
2
3
4
5
6
7 somme = 0; List<VenteBean> l; ListIterator<String> iterator = l.listIterator(); while(iterator.hasNext()) { VenteBean temp = iterator.next(); somme += temp. (méthode pour accéder a l attribut que tu veux sommer) }
soit faire une boucle...soit utiliser un iterator.
Dans tous les cas tu parcoures ta liste dans une boucle ;)
Salut,
La solution la plus sûr reste l'iterator, et la plus lisible via la boucle for-each :
Code:
1
2
3
4
5
6
7 List<VenteBean> l; double somme = 0.0; for (VenteBean bean : l) { somme += bean.getAttribut(); }
La boucle via l'index et les get(x) peut être un très mauvais choix selon le type réel de la liste...
a++
merci pour vous tous,
j'ai fait ceci:
et j'ai eu cette erreur:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public List getTotal_facture() { //System.out.println("essaie : " + l.get(2)); double somme = 0; List<VenteBean> l = VenteDAO.total_facture_dao(); ListIterator<VenteBean> iterator = l.listIterator(); while(iterator.hasNext()) { VenteBean temp = iterator.next(); somme += temp.currentVente.getTotal(); } System.out.println("la somme est :" + somme + "oups!!!"); return l; }
et le ligne 75 correspond a ce ligne:Citation:
Error getting property 'total_facture' from bean of type gestdepartements.bean.VenteBean: java.lang.ClassCastException: gestdepartements.persistance.jdo.Vente cannot be cast to gestdepartements.bean.VenteBean
java.lang.ClassCastException: gestdepartements.persistance.jdo.Vente cannot be cast to gestdepartements.bean.VenteBean
at gestdepartements.bean.VenteBean.getTotal_facture(VenteBean.java:75)
Code:VenteBean temp = iterator.next();
j'ai eu la méme erreur avec la solution de "adiGuba"
mais cette fois ci l'erreur est au niveau:
Code:for (VenteBean bean : l) {
Salut,
C'est un problème lié à l'accès de ta liste : tu ne peux pas lister et modifier en simultanée (sauf le remove si j'ai bonne mémoire).
Arff, pas assez rapide
Le problème semble venir de ton code et non pas de l'itérator
:arrow: Cette ligne ne correspond pas au code que tu nous donnes...Citation:
at gestdepartements.bean.VenteBean.getTotal_facture(VenteBean.java:75)
Quel est le stacktrace complet de l'exception ?
a++
bon c'été simplement une erreur du choix du bean, j'ai changé mon bean et ca marche .
merci pour vous tous ;)