IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

le Type List


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Par défaut le Type List
    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.
    merci

  2. #2
    Membre éclairé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Par défaut
    A part parcourir la liste dans une boucle ? Non il n'y a pas.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Par défaut
    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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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)
    }
    Personnellement, je préfère la 2ème solution.

  4. #4
    Membre éclairé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Par défaut
    soit faire une boucle...soit utiliser un iterator.

    Dans tous les cas tu parcoures ta liste dans une boucle

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par leminipouce Voir le message
    soit faire une boucle...soit utiliser un iterator.
    La solution la plus sûr reste l'iterator, et la plus lisible via la boucle for-each :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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++

  6. #6
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Par défaut
    merci pour vous tous,

    j'ai fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 j'ai eu cette erreur:
    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)
    et le ligne 75 correspond a ce ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     VenteBean temp = iterator.next();

  7. #7
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Par défaut
    j'ai eu la méme erreur avec la solution de "adiGuba"
    mais cette fois ci l'erreur est au niveau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		for (VenteBean bean : l) {

  8. #8
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Par défaut
    bon c'été simplement une erreur du choix du bean, j'ai changé mon bean et ca marche .

    merci pour vous tous

  9. #9
    Membre confirmé Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Communication & Webservices
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Par défaut
    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

  10. #10
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Le problème semble venir de ton code et non pas de l'itérator


    at gestdepartements.bean.VenteBean.getTotal_facture(VenteBean.java:75)
    Cette ligne ne correspond pas au code que tu nous donnes...

    Quel est le stacktrace complet de l'exception ?

    a++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/05/2006, 15h12
  2. Heriter le type list de la STL
    Par mathher dans le forum SL & STL
    Réponses: 13
    Dernier message: 28/03/2006, 23h48
  3. array de type "liste"
    Par antrax2013 dans le forum ASP
    Réponses: 6
    Dernier message: 15/02/2006, 02h18
  4. Réponses: 7
    Dernier message: 14/02/2005, 10h40
  5. Pb avec le formulaire en type List
    Par LoulouFifi dans le forum Struts 1
    Réponses: 5
    Dernier message: 04/02/2004, 11h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo