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 :

Moyenne des valeurs d'une ArrayList


Sujet :

Collection et Stream Java

  1. #1
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2016
    Messages
    110
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 110
    Par d�faut Moyenne des valeurs d'une ArrayList
    Bonjour je lis la valeur "Red" de chaque pixel sous une surface.
    Je mets toutes ces valeurs dans une ArrayList et j'aimerais faire la moyenne de toutes les valeurs.

    Voici mon code :

    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
     
    ArrayList listRed = new ArrayList();
     for(int i = 0; i< B;i++){
                for(int j = 0; j< B - i; j++){
     
     
                    int p = imgglobal.getRGB(i, j);
     
                    int r = (p>>16)&0xff;
     
     
                    listRed.add(r);
     
                    System.out.println(""+ listRed);
                }
             }
    J'ai essay� ceci mais sans succ�s j'ai deux erreurs :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     for(int i=0; i < listRed.length ; i++)
                    sommeRed = sommeRed + listRed[i];
     
     
                    double moyenne = sommeRed / listRed.length;
    Une erreur pour length "Cannot find symbol"
    Une erreur pour
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    sommeRed = sommeRed + listRed[i];
    "array required, but Arraylist found"

    merci bien

  2. #2
    Mod�rateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Ao�t 2006
    Messages
    4 096
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activit� : R&D - Palefrenier programmeur
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 4 096
    Par d�faut
    Tu d�clare une ArrayList et tu l'utilise comme si c'�tait un simple tableau. Forcement le compilo il aime pas.

    Les List (arraylist et autres) utilise .size() et .get(index) et non .length et [index].
    (Les "�a ne marche pas", m�me �crits sans faute(s), vous porteront discr�dit ad vitam �ternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2016
    Messages
    110
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 110
    Par d�faut
    Ah super merci.

    J'ai chang� mon code
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    for(int i=0; i < listRed.size() ; i++)
                    sommeRed = sommeRed + listRed.get(i);
     
     
                    double moyenne = sommeRed / listRed.size();
    Mais j'ai maintenant cette erreur :

    bad operand types for binary operateur '+'

    sommeRed est un "int" et listred.get(i) aussi non ?

  4. #4
    Mod�rateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Ao�t 2006
    Messages
    4 096
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activit� : R&D - Palefrenier programmeur
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 4 096
    Par d�faut
    Justement non, car tu ne l'as pas sp�cifi� et le compilateur ne sais pas quoi faire.

    Alors soit tu explicite clairement le type d'objet dans la liste comme ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    ArrayList<Integer> listRed = new ArrayList<>();
    Soit tu fais un cast :

    (Mais la premi�re m�thode est pr�f�rable)
    (Les "�a ne marche pas", m�me �crits sans faute(s), vous porteront discr�dit ad vitam �ternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2016
    Messages
    110
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 110
    Par d�faut
    Ah ok je comprends maintenant, j'avais oubli� qu'on pouvait la d�clarer comme �a.
    merci beaucoup.

  6. #6
    Mod�rateur
    Avatar de Alkhan
    Homme Profil pro
    ing�nieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : ing�nieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par d�faut
    Bonjour,
    Citation Envoy� par wax78 Voir le message
    Justement non, car tu ne l'as pas sp�cifi� et le compilateur ne sais pas quoi faire.

    Alors soit tu explicite clairement le type d'objet dans la liste comme ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    ArrayList<Integer> listRed = new ArrayList<>();
    Soit tu fais un cast :

    (Mais la premi�re m�thode est pr�f�rable)
    J'ajouterai une petite pr�cision afin de les d�butants ne se perdent pas !
    Toutes les Collections ne stock pas de type simple mais bien des objets. Moux88, lorsque tu fais :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    int r = 12;
    listRed.add(r)
    ce n'est pas un int qui est ajouter mais bien un Integer, qui lui est un objet !
    le code �quivalent serait :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    int r = 12;
    listRed.add(Integer.valueOf(r));
    Mais �a c'est fait implicitement et c'est ce que l'on appel l'autoboxing !
    Il n'y a pas de probl�me, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de probl�me.
    Si toutefois le probl�me persiste, la seule solution restante est de changer le p�riph�rique qui se trouve entre la chaise et l'�cran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Grouper des valeurs d'une ArrayList
    Par Narizuke dans le forum Collection et Stream
    R�ponses: 11
    Dernier message: 10/06/2015, 11h47
  2. R�ponses: 8
    Dernier message: 26/08/2013, 18h36
  3. Des probl�mes pour ajouter valeur dans une ArrayList
    Par Fused dans le forum Collection et Stream
    R�ponses: 4
    Dernier message: 07/11/2008, 16h28
  4. Tri par la moyenne des valeurs de champs ?
    Par rozwel dans le forum Requ�tes
    R�ponses: 8
    Dernier message: 28/01/2005, 18h35
  5. fonction r�cup�rant des valeurs dans une fonction popup...
    Par petitsims dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 20/01/2005, 14h51

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