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 :

liste de listes de clip


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Inscrit en
    Août 2004
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 86
    Points : 44
    Points
    44
    Par défaut liste de listes de clip
    Bonjour,

    J'aimerais bien avoir votre aide à propos d'un programme java qui doit recevoir un ensemble de liste et qui construit la programmation optimale.

    c-à-dire un canal de diffusion reçoit plsrs listes de souhaits :

    Liste1(clip11,clip12,....clip1N1) pour utilisateur numéro 1
    .
    .
    .
    .
    ListeM(clipM1,clipM2,........)

    chaque utilisateur choisit un nombre à son choix de clip et le programme doit optimiser pour satisfaire un plus grand nombre d'utilisateurs.
    pour le moment on considère les clip de type String.

    Merci bcp d'avance pour votre aide

    Cdt,

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Si je comprends bien le fonctionnement, le but est d'avoir un classement des clips les plus demandés.

    A mon avis, il faut simplifier le problème en éliminant la notion de "liste de liste" pour ne garder que l'information utile : "pour chaque titre, combien de votes ?"

    Au niveau de la structure de données, la "Map" me paraît toute indiquée.

    Dans la mesure où il s'agit visiblement d'un exercice, je ne t'en dis pas plus et je te laisse approfondir les recherches sur cette idée.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Membre du Club
    Inscrit en
    Août 2004
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 86
    Points : 44
    Points
    44
    Par défaut ajout
    merci pour ta réponse et ton indication utile:en fait j'ai déjà commencé à coder et j'aimerais bien en avoir ton avis.

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    import java.util.*;
    import java.io.*;
     
    public class Optimiseur{
     
     
    public static List<String> receptionListeClip(List<String> liste,String[] args,int numUtil){
     
    for(int i=0;i<args.length && (args[i]) !=null;i++){
    liste.add(args[i]);
    System.out.println(args[i]);
    }
    return liste;
    }
     
    public int nombreDeVoteParClip(){
     
     
     
    }
    List<String> listePrioritaire=new ArrayList<String>();
    public static void main(String[] args){
     
    //List<String> liste=new ArrayList<String>();
     
    ArrayList<List> collect=new ArrayList<List>(nombreUtilisateur);
    try{
    BufferedReader	stdin = new BufferedReader(new InputStreamReader(System.in));
     
    System.out.print("veuillez entrer votre numéro d'utilisateur>> ");
    String numUtil = stdin.readLine();
    collect.add(Optimiseur.receptionListeClip(new ArrayList<String>(),args,Integer.parseInt(numUtil)));
     
    }catch(IOException ioe){}
     
     
    }
    }
    merci d'avance

  4. #4
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Citation Envoyé par coquero Voir le message
    merci pour ta réponse et ton indication utile:en fait j'ai déjà commencé à coder et j'aimerais bien en avoir ton avis.
    Mon avis sur quoi ?

    Mon premier avis, c'est que tes variables sont mal nommées, et que tu n'as pas mis de javadoc pour les expliciter. Il faut prendre ces bonnes habitudes tout de suite :
    - "liste" : de choux, de carottes ?...
    - "args" : arguments de quoi ?
    - "numUtil" : quezaco ?

    Sans un minimum de rigueur, on ne risque pas de comprendre ce que ton code est supposé faire.

    Mon deuxième avis, c'est que tu devrais formaliser et vérifier sur papier ton algorithme, afin de bien savoir ce que tu dois faire, avant de passer au code. Une fois cette étape réalisée, la conversion "algo > code" se passe en général bien.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  5. #5
    Membre du Club
    Inscrit en
    Août 2004
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 86
    Points : 44
    Points
    44
    Par défaut correction
    merci pour tes conseils voici une nouvelle version

    <

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    import java.util.*;
    import java.io.*;
     
    public class Optimiseur{
    /**
    le tableau clipDemandes contient tous les clips choisis par tous les utilisateurs
    */
    static String[] clipDemandes=new String[10];
    /**
    Cette Map contient tous les clips avec leurs nombres de vote(nombre d'occurence dans la ligne de saisie)
    */
    static Map<String,Integer> listePrioritaire=new HashMap<String,Integer>();
     
    /**
    Cette méthode parcourt les clips saisis par un utilisateur donné et les mets dans une liste  avant de faire appel
    à la méthode nombreDeVoteParClip
    */
    public static List<String> receptionListeClip(List<String> liste,String[] tabClipsSaisis,int numUtilisateur){
     
        for(int i=0;i<tabClipsSaisis.length && (tabClipsSaisis[i]) !=null;i++){
        liste.add(tabClipsSaisis[i]);
        System.out.println("liste est"+  tabClipsSaisis[i]);
        Optimiseur.nombreDeVoteParClip(tabClipsSaisis[i]);// il y aun pb sur cette ligne lors de l'éxécution
    //System.out.println("liste prioritaire est "+ listePrioritaire.get(tabClipsSaisis[i]));
    }
    return liste;
    }
    /**
    Cette méthode calcul le nombre d'occurence de clip parmis tous les clips déjà saisis par les autres utilisateurs.
    la variable nombreVote commence à 1 car on ne fait appel à cette méthode que si le clip en question est saisi.
    Dans cette méthode,on alimente la listePrioritaire par le clip et son nombre de vote
    */
    public static void nombreDeVoteParClip(String clip){
        int nombreVote=1;
        while(clipDemandes !=null){
        for(int k=0;k<clipDemandes.length;k++){
     
        if(clipDemandes[k].equals(clip)) 
        {
        ++(nombreVote);
     
        }
        listePrioritaire.put((clipDemandes[k]),new Integer(nombreVote));
        }
     
     
        }
        }
     
     
     
    public static void main(String[] args){
     
     
     
        ArrayList<List> collectionToutesListesClips=new ArrayList<List>();
     
        try{
        BufferedReader    stdin = new BufferedReader(new InputStreamReader(System.in));
     
     
        System.out.print("veuillez entrer votre numéro d'utilisateur>> ");
        String numUtilisateur = stdin.readLine();
     
        collectionToutesListesClips.add(Optimiseur.receptionListeClip(new ArrayList<String>(),args,Integer.parseInt(numUtilisateur)));
     
     
     
        }catch(IOException ioe){}
     
    }
    }
    >

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

Discussions similaires

  1. Regrouper une liste en liste de listes
    Par West01 dans le forum Prolog
    Réponses: 12
    Dernier message: 14/03/2008, 14h07
  2. Liste de liste?
    Par Bethoring dans le forum C++
    Réponses: 4
    Dernier message: 16/11/2005, 18h19
  3. Liste de listes
    Par SteelBox dans le forum Prolog
    Réponses: 5
    Dernier message: 16/10/2005, 16h21
  4. acceder au n iéme element d'une liste std::list
    Par sorari dans le forum SL & STL
    Réponses: 4
    Dernier message: 23/03/2005, 15h21
  5. [langage] tri avancé, liste de listes
    Par schnecke dans le forum Langage
    Réponses: 6
    Dernier message: 29/03/2004, 14h00

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