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 :

Concatener deux variables pour qu'elles forment une seule variable


Sujet :

avec Java

  1. #1
    Membre éclairé Avatar de zemzoum89
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    373
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2010
    Messages : 373
    Par défaut Concatener deux variables pour qu'elles forment une seule variable
    Voila j'ai une boucle for en java comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for (int i = 1; i < 4; i++) {
                System.out.println(fonc.f(i));
            }
    Je voudrai concaténer fonc avec le i du for pour former une variable fonc1 car j'ai plusieur fonction fonc1, fonc2... Merci de m'aider...

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Fais autrement.

    Un truc genre :

    - quelque part :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private ClasseSuperUtile[] tableau = faireLeTableauDeMesObjets();
    - ailleurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for (int i = 1; i < 4; i++) {
     System.out.println(tableau[i].f());
    }
    Bon, bien sûr, comme tu parles de fonction et que je sais pas si tu voulais dire objet, classe ou méthode, il va peut-être falloir adapter. Mais l'idée c'est ça.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé Avatar de zemzoum89
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    373
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2010
    Messages : 373
    Par défaut
    désolé mais je n'ai pas du tout compris ce que vous voulez dire...

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Et moi je n'ai pas très bien compris ce que tu demandes.
    Peut-être que si tu nous donnais un exemple concret...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Il n'est pas possible de créer dynamiquement des variables dans un langage statique comme l'est java.

    De fait pour contourner cela il suffit de stocker les variables crées pendant la bouble dans un tableau (comme le fait thelvin) ou dans une collection (une classe implémentant l'interface List, genre ArrayList, fera amplement l'affaire)

  6. #6
    Membre éclairé Avatar de zemzoum89
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    373
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2010
    Messages : 373
    Par défaut
    mais ou est le sens quand on les stock dans un tableau ???Je pourrai pas les utiliser comme je veux moi... non ?

  7. #7
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Citation Envoyé par zemzoum89 Voir le message
    mais ou est le sens quand on les stock dans un tableau ???Je pourrai pas les utiliser comme je veux moi... non ?
    Ben tu veux les utiliser comment? Tu veux y accéder par le nom que tu définis?

    Dans ce cas utilise une map avec en clé le nom que tu veux donner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Map<String, Int> map = new HashMap<String, Int>() //en supposant que fonc.f() renvoie un int
     
    for (int i = 1; i < 4; i++) {
                map.put("fonc"+i, fonc.f(i));
            }
    Et après tu y accèdes comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    System.out.println(map.get("fonc1"));
    System.out.println(map.get("fonc2"));

    Après je ne sais pas si j'ai bien compris ce que tu voulais.

  8. #8
    Membre éclairé Avatar de zemzoum89
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    373
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2010
    Messages : 373
    Par défaut
    ah ben mais moi je veux utiliser ce que renvoie map.get() comme nom de fonction est ce possible ?

  9. #9
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Citation Envoyé par zemzoum89 Voir le message
    ah ben mais moi je veux utiliser ce que renvoie map.get() comme nom de fonction est ce possible ?
    C'est à dire?

    Tu veux appeler une fonction qui s'appelle fonc1 ou fonc2?

    Et que renvois fonc.f()?

    Sois plus clair, explique dans le détail ce que tu veux exactement faire.

  10. #10
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Tu as un classe qui posse des methodes fonc1, fonc2, fonc3, fonc4 et ainsi de suite et tu voudrais les appeler une a une, a l'interieur d'une boucle for ?

    Si c'est cela, il te suffit de chercher apres la dite methode, (avec reflection) et ensuite de l'invoker non ?


    Il n'est pas possible de créer dynamiquement des variables dans un langage statique comme l'est java.
    Euh et BCEL il ferait pas un truc du genre et même mieux ?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    vouloir appeler foncX ou X est un index dans une boucle relève d'une erreur de design de l'application à la base. Oui c'est faisable (via la reflection) mais
    1) c'est lourd
    2) c'est moche
    3) ca pose des problème au niveau du securityManager
    4) comem déjà dit ça présente des problème de designe

    Quand à BCEL et cie qui crée des variable 'au vol' ou des méthoes 'au vol', ces mécanisme créent en réalité un classe supplémentaire qui hérite de la classe 'enrobée' et qui contient les méthodes / propriétés ajoutées. Rien qu'on ne puisse déjà faire à la compilation

  12. #12
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Euh et BCEL il ferait pas un truc du genre et même mieux ?
    Ensuite savoir si l'instrumentation de bytecode fait partie du langage, et est accessibles aux débutants.....

  13. #13
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Nous sommes bien d'accords
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #14
    Membre éclairé Avatar de zemzoum89
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    373
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2010
    Messages : 373
    Par défaut
    Ahhh j'ai très bien compris ce que vous voulez dire, merci beaucouup, dites moi seulement c'est quoi BCEL??

  15. #15
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Citation Envoyé par zemzoum89 Voir le message
    Ahhh j'ai très bien compris ce que vous voulez dire, merci beaucouup, dites moi seulement c'est quoi BCEL??
    Quelque chose qu'il vaut mieux que tu évites vu ton niveau actuel. Cherche sur google, tu trouveras vite fait la réponse...

    Sinon de façon plus simple, raconte le cas d'utilisation qui correspond à ce que tu cherches à faire. A quoi correspondent ces n fonctions, que sont tes objets et que cherches tu à faire?
    Raconte nous un peu plus en détail ce que tu cherches à faire, nous pourrons t'aider à modéliser cela de façon propre et fiable.

  16. #16
    Membre éclairé Avatar de zemzoum89
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    373
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2010
    Messages : 373
    Par défaut
    Merci beaucoup pour votre aide... c'est très gentil de votre part...

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/06/2015, 10h41
  2. Réponses: 7
    Dernier message: 03/01/2012, 11h14
  3. Réponses: 4
    Dernier message: 14/10/2011, 16h18
  4. [PHP 5.2] Concatener deux variables pour qu'elle forment une seule variable
    Par zemzoum89 dans le forum Langage
    Réponses: 9
    Dernier message: 25/05/2010, 19h39
  5. Réponses: 4
    Dernier message: 15/08/2006, 11h28

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