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

Langage Java Discussion :

[debutante]Message sur un portable


Sujet :

Langage Java

  1. #21
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Par défaut
    "HashMap et ArrayList" est le titre d'une partie de mon cours, ms on n'a pas vu en détail HashMap. Dans l'exercice, on me demande de faire une table de hachage, c'est pour ça j'ai utilisé Hashtable. Vector est une notion que j'ai vu au début, c'est pour ça j'ai utilisé ça.
    Sino, on a vu List, il y a pas longtemps.
    Mais quand tu affiche le résultat de "recuperer", tu ne devrais pas avoir un vecteur de chaine de caractère ? (au fait vous êtes forcés d'utiliser Vector ?)
    Effectivement, la résultat de "récupérer" doit me rentre un vecteur de chaine correspondant.
    Je pense que le but de ton exercice est pour un code donné (ex : "387663") renvoyé la liste des mots possibles.
    Ici le résultat ne corresponds pas du tout à la liste de mots, mais plutot à une liste de chiffres que j'ai mis ds le Sys.out.println de la fonction main.
    D'après vous, j'en suis loin?
    Merci.

  2. #22
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    et bien disons que tu n'y est pas encore ... mais t'es pas trop loin non plus ...

    il faut par exemple, si tu rentres ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    placer(h,"Dupond");
    placer(h,"Fuponf");
    placer(h,"Durand");
    placer(h,"Mano");
    que dans ta table de hachage tu aies

    "387663" -- <"Dupond", "Fuponf">
    "387263" -- <"Durand">
    "6266" -- <"Mano">

    et que quand tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    System.out.println(recuperer(h,"387663"));
    System.out.println(recuperer(h,"6266"));
    tu obtiennes
    "Dupond", "Fuponf"
    "Mano"

    Cependant, là quand tu demande d'afficher un vecteur, il va plutôt t'afficher un truc comme Vector@41454454. Ton prog ne sauras pas comment afficher le contenu mais c'est pas grave, ce n'est pas ce qu'on te demande ...

    Au fait tu as un problème dans ta méthode placer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public static void placer (Hashtable h, String s){
    		String code = getChaine(s);
    		Vector v = (Vector)h.get(code);
    		if (v == null){ // cas où la clé n'existe pas dans la table
    			v = new Vector();
    			h.put(code,v); // ici tu ajoutes un vecteur vide
                                                // tu as oublié d'ajouter la chaine au Vector
    		}
    		if (!v.contains(code)){ // v ne doit pas contenir le code mais la chaine !
    			v.addElement(code); // donc là c'est pas bon non plus ...
    		}
    	}
    Aller t'es plus très loin ...

    PS : au passage HashMap est une table de hachage "plus récente". tu devrais l'utiliser. Ainsi que List qui est comme un vecteur mais aussi en plus récent)

  3. #23
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Par défaut
    Bonjour,

    String code = getChaine(s);
    Vector v = (Vector)h.get(code);
    if (v == null){ // cas où la clé n'existe pas dans la table
    v = new Vector();
    h.put(code,v); // ici tu ajoutes un vecteur vide
    // tu as oublié d'ajouter la chaine au Vector
    Je croyais que le "code" permettait d'ajouter la chaine au Vector par la méthode "getChaine(s)".

    if (!v.contains(code)){ // v ne doit pas contenir le code mais la chaine !
    v.addElement(code); // donc là c'est pas bon non plus ...
    là au début, j'avais bien mis la chaine, mais j'ai modifié pour voir ce qu'il pourrait donné si je mettais le code. J'ai oublié de le modifier ensuite. Merci de me l'avoir signaler.
    Je crois que l'erreur venait de là. Now après la compilation, j'obtiens bien le bon résultat:
    [Dupond, Fuponf]
    [Mano]
    Merci beaucoup pour vos aides et les explications qui m'ont permis d'avancer dans l'exo.

    PS : au passage HashMap est une table de hachage "plus récente". tu devrais l'utiliser. Ainsi que List qui est comme un vecteur mais aussi en plus récent)
    j'ai un exo sur List et Collection que j'suis entrain de travailler. Pour l'instant çava, mais pas pour longtemps je crois. Dans ce cas, je ferrai appel à vous.
    Merci encore.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/12/2004, 12h49
  2. Carte son sur ordinateur portable
    Par devmat dans le forum Matériel
    Réponses: 14
    Dernier message: 08/10/2004, 01h03
  3. [REDHAT] Installation RedHat 9 sur un portable Presario 900
    Par billyboy dans le forum RedHat / CentOS / Fedora
    Réponses: 8
    Dernier message: 12/06/2004, 01h06
  4. Howto - Envoi message sur réseau
    Par Thomad dans le forum Windows
    Réponses: 2
    Dernier message: 31/03/2004, 17h46
  5. Internet sur PC portable depuis Téléphone Mobile (via GSM)
    Par krugernet dans le forum Développement
    Réponses: 4
    Dernier message: 16/11/2003, 18h28

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