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 :

calcul sur hashmap


Sujet :

Collection et Stream Java

  1. #1
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut calcul sur hashmap
    Bonjour,
    je voudrais faire un calcul d'une moyenne des valeurs contenues dans une hashmap mais j'ai une exception de type:
    Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to MaClasse.Price
    c'est sur la ligne: "moyenne += ((Price)iter.next()).getPriceValue();"

    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 class MaClasse{
    private int Price;
    ..................
    private double calculMoyenne(HashMap ArticlesPrices){
          double moyenne = 0.0f;
          if (ArticlesPrices != null && ArticlesPrices.size()!= 0){
              Iterator iter = ArticlesPrices.values().iterator();
              while (iter.hasNext()){
                moyenne += ((Price)iter.next()).getPriceValue();
     
              }
              moyenne = moyenne / ArticlesPrices.size();
          }
          return moyenne;      
      }
    Merci pour votre aide.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Par défaut
    Les valeurs de ta HashMap sont de type Integer, tu ne peux donc pas convertir des valeurs de type Integer en type Price.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    moyenne += (Integer)iter.next();
    Prends l'habitude de nommer tes instances en commençant par une minuscule (ex: HashMap articlesPrices et non HashMap ArticlesPrices). Celà t'évitera ce genre d'erreurs.

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 497
    Par défaut
    : java.lang.Integer cannot be cast to MaClasse.Price

  4. #4
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut
    Citation Envoyé par Duc Lebowski Voir le message
    Les valeurs de ta HashMap sont de type Integer, tu ne peux donc pas convertir des valeurs de type Integer en type Price.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    moyenne += (Integer)iter.next();
    Prends l'habitude de nommer tes instances en commençant par une minuscule (ex: HashMap articlesPrices et non HashMap ArticlesPrices). Celà t'évitera ce genre d'erreurs.
    Merci pour ta réponse, c'était bien ça

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

Discussions similaires

  1. Calcul sur requete
    Par nicoolas dans le forum Access
    Réponses: 3
    Dernier message: 11/01/2005, 16h50
  2. [débutant] calcul sur date
    Par Regis.C dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 04/01/2005, 10h51
  3. Resutlat de calcul sur date formaté
    Par neness dans le forum SQL
    Réponses: 6
    Dernier message: 16/06/2004, 15h34
  4. Calcul sur date
    Par Thomad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/09/2003, 08h55
  5. Réponses: 4
    Dernier message: 15/12/2002, 04h19

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