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

Collection et Stream Java Discussion :

(java) classe iterator


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut (java) classe iterator
    Bonjour,
    je voudrais calculer la moyenne des valeurs contenues dans une List, j'ai un peu du mal à utiliser la classe iterator, le pb concerne ces lignes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while (iter.hasNext()){             
                    average = iter.next();               
                }
                average = average / vList.size();
    --------------
    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 static double calculateAverage ( List vList )
            {
               double average;
               if (vList.size()!= 0)
               {
     
                Iterator iter = vList.iterator();
                while (iter.hasNext()){
     
                    average = iter.next();
                               }
                average = average / vList.size();
            }
            return average;           
     
            }
    qqu pourrait m'aider?

  2. #2
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour.
    Il suffit d'ajouter un + à l'instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    average = iter.next();
    pour qu'elle devient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    average += iter.next();
    Sinon, ta liste n'est pas typée, donc iter.next() retourne un object, et il serait un peu difficile d'additioner un double et un object

    Je présume que ta liste contient des Double, n'est ce pas ? Dans ce cas, il faut faire le cast de iter.next().

    Bonne chance.

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut iterator_List
    j'ai oublié de préciser que ma vList contient des int, par contre la moyenne que je vais calculer va être un double.
    j'ai pas compris cmt faire le cast de iter.next()?


    Citation Envoyé par djo.mos Voir le message
    Bonjour.
    Il suffit d'ajouter un + à l'instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    average = iter.next();
    pour qu'elle devient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    average += iter.next();
    Sinon, ta liste n'est pas typée, donc iter.next() retourne un object, et il serait un peu difficile d'additioner un double et un object

    Je présume que ta liste contient des Double, n'est ce pas ? Dans ce cas, il faut faire le cast de iter.next().

    Bonne chance.

  4. #4
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Par défaut
    Citation Envoyé par flora806 Voir le message
    j'ai oublié de préciser que ma vList contient des int, par contre la moyenne que je vais calculer va être un double.
    j'ai pas compris cmt faire le cast de iter.next()?
    La il faut vraiment que tu lises ton cours de java sur les generics et les cast, sinon qqun va te le faire et tu sauras jamais pourquoi il a fait comme ça

  5. #5
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Par défaut
    Essaye de typer List pour extraire facilement l'élément sans tout caster dans tous les sens

    Et aussi average += list.next() ça pourrait etre malin

  6. #6
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut iterator
    Merci pour vos 2 réponses,
    j'ai essayé:
    average += vListe.next();
    ça me donne: inconvertibles types, found <nulltype>, required double-->méthode next()

    j'ai essayé aussi: average +=iter.next();
    ça me donne: l'opérator + can't be applied to double.



    cmt je règle ce prb

Discussions similaires

  1. Java class + Java Bean d'interface = petit problème
    Par Nyphel dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 30/01/2007, 14h52
  2. Problème création New Java Class
    Par karl3i dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 09/01/2007, 08h17
  3. java classe bande dessinée
    Par Alex35 dans le forum Langage
    Réponses: 10
    Dernier message: 29/05/2006, 16h57
  4. [Debutant(e)]Dossiers .java, .class et .dll
    Par jeanmm dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 12/01/2006, 14h43
  5. [Debutant(e)]NoClassDef:java/util/Iterator
    Par MASSAKA dans le forum Général Java
    Réponses: 9
    Dernier message: 25/05/2004, 09h48

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