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 :

Concaténation 2 vecteurs sans redondance


Sujet :

avec Java

  1. #1
    Membre régulier
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Points : 101
    Points
    101
    Par défaut Concaténation 2 vecteurs sans redondance
    j'ai fait un code qui fait la concaténation de 2 vecteur mais à chaque appelle il ajoute une autre fois le FTS ET LE FTSTCP ce que je veux pas et me provoque beaucoup de fautes. je veux à chaque fois que je fait appelle à cet fonction il ajoute les nouvelle valeur entré en paramètre en ecrasant les dernier valeur ajouté (car une mise à jour et faite sur ces valeur à chaque fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	public static Vector <Integer> DFTS(Vector <Integer> FTs,Vector <Integer> FTstcp)
    	{Vector <Integer> dFTS=new Vector <Integer>();
    		dFTS.addAll(FTs);
    		dFTS.addAll(FTstcp);
    		return  dFTS;
    	}

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    rien compris à ton problème, tu pourrais être plus précis? Ton code concatène bien les deux vecteurs, et pas plusieurs fois, contrairement à ce que tu dit.

  3. #3
    Membre régulier
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Points : 101
    Points
    101
    Par défaut
    NON c'est pas vrai à chaque FTS et FTSTCP entré il ajoute à la fin donc il ya une redondance que je veux l'éliminer (avant l'appelle de cet fonction dans le main il ya mise à jour dans les vecteur FTs et FTstcp ) je veux ajouter à chaque fois les nouvelle sans les concaténer à la fin )

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    comme le dit @Tchize_, ta méthode concatène bien les 2 vecteurs passés en paramètres. Si tu retrouves tes informations dupliquées, je dirais à priori que le problème vient des vecteurs passés en paramètres, qui contiennent déjà les valeurs dupliquées.

    Comment construis-tu et remplis-tu ces vecteurs ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre régulier
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Points : 101
    Points
    101
    Par défaut
    Les valeurs ne sont pas dupliquées. La duplication se fait avec tout le bloc du vecteur, c'est à dire :

    1 0 0 1 (était au début dans le vecteur )

    A l'itération d'après, je veux avoir :
    1 1 1 1
    Mais je trouve :
    1 0 0 1 l'ancien puis 1 1 1 1

    Alors que je veux juste : 1 1 1 1

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par FATENMRABET Voir le message
    1 0 0 1 était au début dans le vecteur
    lequel ? FTs ou FTstcp ?

    Citation Envoyé par FATENMRABET Voir le message
    à l'itération d'aprés
    je veux avoir
    1 1 1 1
    dans quoi dans Fts ? FTstcp ? ou Fts + FTscp ?

    Citation Envoyé par FATENMRABET Voir le message
    JE TROUVE
    1 0 0 1 L'ancien PUIS 1 1 1 1
    ALORS QUE JE VEUX SAUF LES 1 1 1 1
    ou ça ?

    Soit plus précis dans tes exemple, sinon on pourra pas t'aider.

    Si tu as deux vecteurs, Fts et FTscp, tels que :

    FTs = 1 0 0 1
    et
    FTscp = 1 1 1 1

    La concaténation des deux fait :

    FTs + FTscp = 1 0 0 1 1 1 1 1

    Ce que fait ta méthode. Et le vecteur retourné par ta méthode contient bien ça.
    Même si on l'appelle 50000 fois, et que Fts et FTscp ne changent pas.

    Et je vois pas ce que je peux dire d'autre au vu de ce que tu "expliques".
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  7. #7
    Membre régulier
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Points : 101
    Points
    101
    Par défaut
    FTS contient 01 par exemple et Ftstcp contient 01. Le vecteur global dfts contient alors 01 01.

    Dans l’itération d’après FTS devient 22 par exemple et FTSTCP devient 33. Je veux alors que le résultat de DFTS écrase l'ancien 01 01 pour devenir 22 33.

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par FATENMRABET Voir le message
    FTS contient 01 par exemple et Ftstcp contient 01 le vecteur global dfts contient alors 01 01
    dans l’itération d’après FTS devient 22 PAR EXEMPLE et FTSTCP devient 33
    JE VEUX QUE LA RÉSULTAT DE DFTS écrase L'ANCIEN 01 01 ET DEVIENT 22 33
    Du coup, je ne comprends pas comment tu n'obtiens pas ce résultat.

    Tu appelles bien ta méthode comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Vector<Integer> nouveauVecteur = DFTS ( Fts, Ftscp );
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Le vecteur dFTS est une variable locale, donc par définition elle n'existe plus une fois que tu as finis d'exécuter ta méthode. De ce fait, le problème ne peut pas venir de là puisqu'il y est reconstruit à chaque fois, il n'y a pas "d'ancienne valeur"..

    Donc on en revient au fait que ce sont tes 2 vecteurs FTs et FTstcp qui ne contiennent pas ce que tu veux.

    Lance ton programme en mode debug et met un point d'arrêt au début de ta fonction pour regarder les valeurs que se baladent ces 2 vecteurs.

    Edit : Au vu de ce que tu nous expliques, je penses que le problème ne vient pas de cette fonction, mais de l'utilisation que tu fais du vecteur résultant.

    A mon avis tu dois écrire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Vector<Integer> monVecteur = new Vector();
    monVecteur.add( dFTS ( FTs , FTstcp ) );
     
    ...
     
    monVecteur.add( dFTS ( FTs , FTstcp ) );
    Et dans ce cas ce qu'il t'affiche est logique

    Edit 2 : Grillé

    Effectivement tu dois l'écrire comme joel.drigo l'a marqué ou alors faire un clear entre chaque appel.

  10. #10
    Membre régulier
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Points : 101
    Points
    101
    Par défaut
    Citation Envoyé par Nico02 Voir le message
    Le vecteur dFTS est une variable locale, donc par définition elle n'existe plus une fois que tu as finis d'exécuter ta méthode. De ce fait, le problème ne peut pas venir de là puisqu'il y est reconstruit à chaque fois, il n'y a pas "d'ancienne valeur"..

    Donc on en revient au fait que ce sont tes 2 vecteurs FTs et FTstcp qui ne contiennent pas ce que tu veux.

    Lance ton programme en mode debug et met un point d'arrêt au début de ta fonction pour regarder les valeurs que se baladent ces 2 vecteurs.

    Edit : Au vu de ce que tu nous expliques, je penses que le problème ne vient pas de cette fonction, mais de l'utilisation que tu fais du vecteur résultant.

    A mon avis tu dois écrire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Vector<Integer> monVecteur = new Vector();
    monVecteur.add( dFTS ( FTs , FTstcp ) );
     
    ...
     
    monVecteur.add( dFTS ( FTs , FTstcp ) );
    Et dans ce cas ce qu'il t'affiche est logique

    Edit 2 : Grillé

    Effectivement tu dois l'écrire comme joel.drigo l'a marqué ou alors faire un clear entre chaque appel.
    .add ne marche pas içi que .addAll fonctionne mais c'est la meme problème il sauvegarde le contenu de dFTs de la première itération et il ajoute à la fin le contenu de la nouvelle dFTs

  11. #11
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par FATENMRABET Voir le message
    .add ne marche pas içi que .addAll fonctionne mais c'est la meme problème il sauvegarde le contenu de dFTs de la première itération et il ajoute à la fin le contenu de la nouvelle dFTs
    C'est ça : c'est l'appel qui est pas bon, pas la méthode.

    si tu as une variable locale à ta classe (ou ta méthode), qui stocke le résultat de l'appel de DFTS, en l'ajoutant à chaque itération par un addAll, c'est sûr que tu vas avoir le cumul de chaque appel...

    - Soit tu utilises l'instance de nouveau vecteur, créée par la méthode, directement (donc en faisant monVecteur = DFTS(...))

    - Soit si tu as des liens sur le vecteur dans la boucle, et donc tu veux conserver la même instance de liste, et tu appelles clear() (comme dit @Nico02) avant addAll() (mais là attention aux problèmes d'accès concurrents...), donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    monVecteur.clear(); // effacer ce qu'il y avait avant
    monVecteur.addAll(DTFS());
    (on pourrait procéder par des set si on était sur que les vecteurs avait toujours la même taille, mais on y gagnerait rien, et on perdrait en concision)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  12. #12
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Est-ce que tu lis ce qu'on écrit ou pas ?

    Le vecteur dFTS est une variable locale, donc par définition elle n'existe plus une fois que tu as fini d'exécuter ta méthode. De ce fait, le problème ne peut pas venir de là puisqu'il y est reconstruit à chaque fois, il n'y a pas "d'ancienne valeur"..
    Donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	public static Vector <Integer> DFTS(Vector <Integer> FTs,Vector <Integer> FTstcp)
    	{Vector <Integer> dFTS=new Vector <Integer>();
    		dFTS.addAll(FTs);
    		dFTS.addAll(FTstcp);
    		return  dFTS;
    	}
    Ici la variable dFTS est reconstruite à chaque fois, donc il est impossible qu'elle garde quoi ce soit.

    Par contre, la ligne qui fait appel à cette méthode, comment tu l'écris ??
    Est-ce que tu ré initialises le vecteur qui prend la valeur de retour entre chaque itération ?

  13. #13
    Membre régulier
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Points : 101
    Points
    101
    Par défaut
    j'ai modifier le code comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public static void DFTS(Vector <Integer> FTs,Vector <Integer> FTstcp,Vector <Integer> dFTS)
    	{  
    		dFTS.addAll(FTs);
    		dFTS.addAll(FTstcp);
    	}
    et je fait l'appelle comme ça
    Vector<Integer>dFTS= new Vector<Integer>();
    dFTS.clear();
    DFTS(FTs,FTstcp,dFTS);
    System.out.println(dFTS);

  14. #14
    Membre régulier
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Points : 101
    Points
    101
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    C'est ça : c'est l'appel qui est pas bon, pas la méthode.

    si tu as une variable locale à ta classe (ou ta méthode), qui stocke le résultat de l'appel de DFTS, en l'ajoutant à chaque itération par un addAll, c'est sûr que tu vas avoir le cumul de chaque appel...

    - Soit tu utilises l'instance de nouveau vecteur, créée par la méthode, directement (donc en faisant monVecteur = DFTS(...))

    - Soit si tu as des liens sur le vecteur dans la boucle, et donc tu veux conserver la même instance de liste, et tu appelles clear() (comme dit @Nico02) avant addAll() (mais là attention aux problèmes d'accès concurrents...), donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    monVecteur.clear(); // effacer ce qu'il y avait avant
    monVecteur.addAll(DTFS());
    (on pourrait procéder par des set si on était sur que les vecteurs avait toujours la même taille, mais on y gagnerait rien, et on perdrait en concision)
    pour cette solution même problème

  15. #15
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Bon, Je pige toujours pas comment tu fais..

    Tu as 2 solutions :

    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
     
    public static void DFTS(Vector <Integer> FTs,Vector <Integer> FTstcp,Vector )
    {
        Vector<Integer>dFTS= new Vector<Integer>();   // EDIT J'avais oublié cette ligne
        dFTS.addAll(FTs);
        dFTS.addAll(FTstcp);
    }
     
    // 1/ tu recrées un vecteur à chaque itération
     
    while( condition )
    {
        // Traitement
        Vector<Integer>dFTS= DFTS( v1, v2 );
        // Traitement
    }
     
    // SOIT tu fais un clear à chaque itération
     
    Vector<Integer>dFTS= new Vector<Integer>();
    ...
    while( condition )
    {
        // Traitement
        dFTS.clear();
        dFTS.addAll ( DFTS( v1, v2 ) );  
        // Traitement
    }
    Et je peux t'assurer que ces 2 solutions fonctionnent parfaitement..

  16. #16
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par FATENMRABET Voir le message
    j'ai modifier le code comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public static void DFTS(Vector <Integer> FTs,Vector <Integer> FTstcp,Vector <Integer> dFTS)
    	{  
    		dFTS.addAll(FTs);
    		dFTS.addAll(FTstcp);
    	}
    et je fait l'appelle comme ça
    Vector<Integer>dFTS= new Vector<Integer>();
    dFTS.clear();
    DFTS(FTs,FTstcp,dFTS);
    System.out.println(dFTS);
    faire un méthode statique qui modifie une variable qui a priori est locale à une séquence, c'est n'importe quoi.

    Elle était très bien ou elle était cette variable. C'est l'appel qui ne va pas... ou alors les paramètres... ou alors la façon d'utiliser le résultat... y'a pas à tortiller

    Enfin tu peux faire comme ça, mais dans ce cas, mets le clear dans la méthode ! Et ne l'appelle plus concaténer...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  17. #17
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Nico02 Voir le message
    Bon, Je pige toujours pas comment tu fais..

    Tu as 2 solutions :

    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
     
    public static void DFTS(Vector <Integer> FTs,Vector <Integer> FTstcp,Vector )
    {
        dFTS.addAll(FTs);
        dFTS.addAll(FTstcp);
    }
     
    // 1/ tu recrées un vecteur à chaque itération
     
    while( condition )
    {
        // Traitement
        Vector<Integer>dFTS= DFTS( v1, v2 );
        // Traitement
    }
     
    // SOIT tu fais un clear à chaque itération
     
    Vector<Integer>dFTS= new Vector<Integer>();
    ...
    while( condition )
    {
        // Traitement
        dFTS.clear();
        dFTS = DFTS( v1, v2 );
        // Traitement
    }
    Et je peux t'assurer que ces 2 solutions fonctionnent parfaitement..
    Pareil...

    @Nico : il y a une petite bévue là (ligne 25) :

    c'était

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dFTS.addAll( DFTS( v1, v2 ));
    que tu voulais écrire (ça sent le début d'impatience )
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  18. #18
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par FATENMRABET Voir le message
    pour cette solution même problème
    Je vais devoir lâcher l'affaire là : soit ce que tu écris dans le forum et ce que tu fais non rien à voir, ou c'est tellement mal expliqué qu'on ne peut pas comprendre de quoi tu parles
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  19. #19
    Membre régulier
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Points : 101
    Points
    101
    Par défaut
    Citation Envoyé par Nico02 Voir le message
    Bon, Je pige toujours pas comment tu fais..

    Tu as 2 solutions :

    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
     
    public static void DFTS(Vector <Integer> FTs,Vector <Integer> FTstcp,Vector )
    {
        Vector<Integer>dFTS= new Vector<Integer>();   // EDIT J'avais oublié cette ligne
        dFTS.addAll(FTs);
        dFTS.addAll(FTstcp);
    }
     
    // 1/ tu recrées un vecteur à chaque itération
     
    while( condition )
    {
        // Traitement
        Vector<Integer>dFTS= DFTS( v1, v2 );
        // Traitement
    }
     
    // SOIT tu fais un clear à chaque itération
     
    Vector<Integer>dFTS= new Vector<Integer>();
    ...
    while( condition )
    {
        // Traitement
        dFTS.clear();
        dFTS = DFTS( v1, v2 );
        // Traitement
    }
    Et je peux t'assurer que ces 2 solutions fonctionnent parfaitement..
    pour cette solution j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public static Vector <Integer> DFTS(Vector <Integer> FTs,Vector <Integer> FTstcp)
    	{Vector <Integer> dFTS=new Vector <Integer>();
    		dFTS.addAll(FTs);
    		dFTS.addAll(FTstcp);
    		return  dFTS;
    	}
    dans l'appelle j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Vector<Integer>dFTS= new Vector<Integer>(); 
    		while(dFTS.size()!=0)
    		{dFTS.clear();
    		dFTS=DFTS(FTs,FTstcp);
    		System.out.println(dFTS);
    		}
    il me donne le contenu de vecteur toujours vide (en core pire )

  20. #20
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Citation Envoyé par joel.drigo Voir le message

    @Nico : il y a une petite bévue là (ligne 25) :

    c'était

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dFTS.addAll( DFTS( v1, v2 ));
    que tu voulais écrire (ça sent le début d'impatience )
    Oui effectivement j'ai corrigé j'avais oublié de déclarer le vecteur dans la fonction aussi

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 4 1234 DernièreDernière

Discussions similaires

  1. Concaténer des vecteurs lignes en une seule matrice
    Par ti_linoa dans le forum OpenCV
    Réponses: 3
    Dernier message: 23/06/2008, 17h09
  2. Réponses: 2
    Dernier message: 27/06/2007, 15h45
  3. Réponses: 5
    Dernier message: 14/06/2006, 15h05
  4. Modifier un vectors sans redondance
    Par laclac dans le forum Langage
    Réponses: 2
    Dernier message: 11/06/2006, 03h40
  5. Réponses: 6
    Dernier message: 27/05/2004, 10h41

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