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

avec Java Discussion :

sous ensemble dans une liste


Sujet :

avec Java

  1. #21
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 75
    Par défaut
    Effectivement il y avait ca aussi, mais le NullPointer doit etre du au faite que la List n'est pas initialise.


    Edit: Tu devrais plutot un ArrayList() car chez moi un new List<Rep> produit une erreur.

  2. #22
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 75
    Par défaut
    Pour pas etre embeter de savoir si on a initialiser ou pas cet age tu peux faire comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    HashMap<Integer, ArrayList<Rep>> h = new HashMap<Integer, ArrayList<Rep>>();
    Rep r=new Rep("Pierre", 12);
    if (h.get(r.getage()) == null)
    	h.put(r.getage(), new ArrayList<Rep>());
    h.get(r.getage()).add(r);
    Rep r1=new Rep("Pierre", 12);
    if (h.get(r1.getage()) == null)
    	h.put(r1.getage(), new ArrayList<Rep>());
    h.get(r1.getage()).add(r1);
    Rep r2=new Rep("Michelle", 12);
    if (h.get(r2.getage()) == null)
    	h.put(r2.getage(), new ArrayList<Rep>());
    h.get(r2.getage()).add(r2);

    Il faut aussi faire un test si il y a aucune personne d'un age donne sinon tu va avoir un nullpointer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int nbj;
    int nbATester = 0;
    if (h.get(nbATester) != null)
    	nbj=h.get(nbATester).size();
    else
            nbj = 0;

  3. #23
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Par défaut
    merci, encore, maintenant ça tourne avec ce 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
    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
     
    import java.util.*;
     
    class Rep implements Comparable<Rep> { 
    	private String nom;
    	private int age;
     
    	Rep(String nomf, int agef) {
    		nom=nomf;
    		age=agef;
    	}
     
    	public String getnom() {
    		return nom;
    	}
     
    	public int getage() {
    		return age;
    	}
     
    	public int compareTo(Rep o) {			
    		if( this.age < o.getage()) return 1;
    		if( this.age == o.getage()) return 0;
    		else return -1;
    	};	
    }
     
    public class Memeage1 
    	{
    	public static void main(String args[])
    		{
    		HashMap<Integer, List<Rep>> h = new HashMap<Integer, List<Rep>>();
    		Rep r=new Rep("Pierre", 12);
    		h.put(r.getage(), new ArrayList<Rep>());
    		h.get(r.getage()).add(r);
    		Rep r1=new Rep("Jean", 12);
    		h.put(r1.getage(), new ArrayList<Rep>());
    		h.get(r1.getage()).add(r1);
    		Rep r2=new Rep("Michelle", 12);
    		h.put(r2.getage(), new ArrayList<Rep>());
    		h.get(r2.getage()).add(r2);
     
     
    		int nbj;
    		nbj=h.get(12).size();
    		System.out.print("*"+nbj+"*");
    		System.out.println();
     
    		}
    	}
    Mais il me dit qu'il n'y a qu'une personne ayant 12 ans

  4. #24
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 75
    Par défaut
    Regarde mon post precedant je l'ai edite

    Car la tu remets la List a 0 a chaque fois.

  5. #25
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Par défaut
    Désolé, ça ne marche pas chez moi, mais ça ajoute des erreurs.
    Je ne comprend pas la logique, non plus :
    tu test h.get(r.getage())
    tu force 12
    et tu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    h.get(r.getage()).add(r);
    de nouveau.
    As tu lu mon dernier post ça marche, mais en comptant mal ?

  6. #26
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 75
    Par défaut
    Enfaite c'est bien ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    HashMap<Integer, ArrayList<Rep>> h = new HashMap<Integer, ArrayList<Rep>>();
    Rep r=new Rep("Pierre", 12);
    if (h.get(r.getage()) == null)
    	h.put(r.getage(), new ArrayList<Rep>());
    h.get(r.getage()).add(r);
    Rep r1=new Rep("Pierre", 12);
    if (h.get(r1.getage()) == null)
    	h.put(r1.getage(), new ArrayList<Rep>());
    h.get(r1.getage()).add(r1);
    Rep r2=new Rep("Michelle", 12);
    if (h.get(r2.getage()) == null)
    	h.put(r2.getage(), new ArrayList<Rep>());
    h.get(r2.getage()).add(r2);
    Le 12 etait une erreur, pour la logique je test si h.get(r.getage()) est null si c'est le cas je put pour cette tranche d'age une nouvelle list sinon je le fait pas sinon ca reset tous.

  7. #27
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Par défaut


    J'ai été déconnecté, génial.
    Je vais être prudent, procéder aussi avec des verif.

    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 9
    Dernier message: 17/11/2010, 12h06
  2. Lister mes sous-sites dans une liste
    Par rohstev dans le forum Développement Sharepoint
    Réponses: 2
    Dernier message: 09/11/2010, 16h49
  3. [AC-2007] Sous-titres dans une liste déroulante
    Par al_bert dans le forum IHM
    Réponses: 7
    Dernier message: 19/05/2009, 15h21
  4. [LINQ To Object] Sous-ensemble d'une liste
    Par farfadet dans le forum Linq
    Réponses: 6
    Dernier message: 17/11/2008, 23h31
  5. sous ensemble d'une liste
    Par adel25 dans le forum C++
    Réponses: 1
    Dernier message: 23/08/2005, 15h50

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