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 :

Resultat d'une Fonction


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 73
    Par défaut Resultat d'une Fonction
    Bonjour,

    J'aurais besoin de votre aide car je me posais une question sur le fonctionnement d'un bout de code que j'ai eu lors d'un partiel de JAVA cette année, n'ayant pas eut la correction.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import java.util.*
     
    public class Find (
            public statis void main(String[] args) {
                   Set<String> s = new HashSet<String>();
                   for (String a : args){
                        if (!s.add(a))
                            System.out.println(a);
                        }
                   System.out.println(s.size() + "???" + s);
            }
    }
    Sachant que for (String a : args) {} indique que l'on traite un par un tous les arguments suivant "toto" "titi" "toto" "tata" "titi"

    Qu'affiche ce programme ?

    C'est surtout la ligne !s.add(a) que j'ai du mal à comprendre

    Est-ce qu'il fait System.out.println(a) lorsqu'il a réussi à l'insérer ou lorsqu'il n'y a plus d'insertion à faire ?

    Et qu'affiche-t-il pour le 's' dans System.out.printl(s.size() + "???" + s);

    Merci d'avance pour votre aide

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 10
    Par défaut
    Bonsoir,

    d'après le code je dirais qu'il affiche le dernier argument qui n'a pu être empilé s'il y a lieu ( argument déjà présent... trop d'arguments ? ou pas assez de mémoire ?)

    puis le nombre d'éléments effectivement dans le HashSet et '???' puis le HashSet.

    un indice peut-être : un HashSet est un ensemble.

    cordialement,
    jk.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 73
    Par défaut
    Merci pour ta réponse.

    Donc le programme affiche :
    1???HashSet(?)
    2???HashSet(?)
    3???HashSet(?)
    4???HashSet(?)
    5???HashSet(?)
    Titi (car tout les arguments on été inséré donc il écrit le dernier inséré ?)
    5???HashSet(?)

    Si j'ai bien compris ...

    Par contre je comprend pas qu'est ce qu'il peut afficher par HashSet 's' ?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 10
    Par défaut
    Allez un autre indice : par définition un ensemble ne contient pas de doublon.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 73
    Par défaut
    Ah mais oui !!!! Merci pour ta réponse je comprend.

    Mais pour le 's' qu'elle peut-être sa valeur en display parce que il a pas de nom le HashSet

  6. #6
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Excusez mon effarement, mais vous ne pouvez pas exécuter ce programme sur un ordi et voir ce qu'il donne ??

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 10
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set<String> s = new HashSet<String>();
    déclare un Set s et l'instancie en HashSet.

    Tu ajoutes ensuite"toto" et titi".

    Hop le prochain argument "toto" bloque car il est déjà dans le HashSet, on l'affiche :
    >toto

    puis on affiche la taille du HashSet suivi de ??? puis le toString du HashSet :
    >2???[titi, toto]

    Un HashSet contient une méthode toString par défaut qui renvoie un String contenant toutes les valeurs du HashSet.

Discussions similaires

  1. [PRO*C] affectation du resultat d'une fonction
    Par gadjou dans le forum Interfaces de programmation
    Réponses: 1
    Dernier message: 06/12/2006, 07h50
  2. Réponses: 1
    Dernier message: 14/06/2006, 16h21
  3. Réponses: 1
    Dernier message: 19/04/2006, 14h29
  4. Réponses: 4
    Dernier message: 18/01/2006, 10h33
  5. garder en memoire un resultat d'une fonction
    Par khadidja dans le forum C++
    Réponses: 6
    Dernier message: 26/07/2004, 14h52

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