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 :

Créer une variable a partir d'un string


Sujet :

Langage Java

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Par défaut Créer une variable a partir d'un string
    voila, j aimerais savoir si il etait possible de construire une variable a partir de 2 string voir d un string et d un integer.

    je m explique creer une serie de variable grace a une boucle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for (int a=1;a<10;a++) {
    int machin{a}
    }

    voila pour avoir toutes les variables machin1,machin2, machin3

    d avance merci de vos reponses!

  2. #2
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Par défaut
    Salut,

    Je ne vois pas de façon de faire cela, ni d'intérêt de prime abord... Mais tu as surement une bonne raison !

    Pourquoi ne pas passer par un tableau, ou quelquechose de la sorte ?

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Utilise des maps.

  4. #4
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Par défaut
    en fait, pour etre precis, je voudrais pouvoir realiser l action suivante (possible en php, mais la en java j ai pas trouve:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for (int a =1;a<10;a++) {
    JButton machin{a} = new JButton;
    }

    pour ensuite pouvoir faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for ( int b = 1; b<10 ; b++) {
    machin{a}.setText("petit texte");
    }
    POur les maps j ai regarde, mais ca ne semble pas vraiment correspondre a ce que je veux faire :/

  5. #5
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Par défaut
    Je ne vois pas de moyen équivalent en Java.
    L'idée de la Map est pas mal, mais une List devrait être suffisante. Tu crées une List<JButton> et ensuite tu travailles avec l'index...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    List<JButton> lst = new ArrayList<JButton>();
    for (int a =1;a<10;a++) {
      lst.add(new JButton());
    }
     
    for ( int b = 1; b<10 ; b++) {
      lst.get(b).setText("petit texte");
    }
    Quoique la Map te permet de donner le nom que tu veux, c'est à dire que ta clé sera "machin" + a et ta valeur sera ton objet instancié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Map<String, JButton> lst = new HashMap<String, JButton>();
    for (int a =1;a<10;a++) {
      lst.put("machin" + a, new JButton());
    }
     
    for ( int b = 1; b<10 ; b++) {
      lst.get("machin" + b).setText("petit texte");
    }

  6. #6
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Par défaut
    =>marche pas, selon eclipse, il m indique que :
    The type List is not generic; it cannot be parameterized with arguments <JButton>
    ainsi que
    ArrayList cannot be resolved to a type
    idem avec les maps.

    donc me voila un peu embette :/

    PS, je l ai pas indique mais mon clavier n a pas d accent c est pour cela que je n en met pas desole

  7. #7
    Membre chevronné Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<JButton> maList = new ArrayList<JButton>();
    devrait fonctionner.

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Vérifie que tu as bien la ligne
    et que tu n'as pas l'une de celles deux-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import java.awt.*;
    import java.awt.List;

  9. #9
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Par défaut
    Citation Envoyé par chaky furtz Voir le message
    =>marche pas, selon eclipse <...>
    Tu compiles bien en JDK 5 minimum, et pas en 1.4 ?

  10. #10
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Par défaut
    ok, je verifie tout ca et je vous repond au plus vite, merci de vos reponse en tout cas!

  11. #11
    Membre chevronné Avatar de T`lash
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2007
    Messages : 381
    Par défaut
    Citation Envoyé par dingoth Voir le message
    Vérifie que tu as bien la ligne
    et que tu n'as pas l'une de celles deux-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import java.awt.*;
    import java.awt.List;
    C'est en général l'import de java.awt.* qui pose problème comme l'a souligné dingoth.

    C'est pour cela qu'il faut éviter au maximum l'import de package entier car il risque d'y avoir des conflits.

    Même si tu vérifies que le package ne contient pas de nom de classe déjà utilisé, si tu mets à jour une des librairies que tu utilises et qu'une nouvelle classe y a été ajoutée, tu peux te retrouver avec un conflit non prévu.

    Dans ton cas c'est une utilisation de java.awt.List à la place d'un java.util.List.

  12. #12
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Par défaut
    Citation Envoyé par T`lash Voir le message
    C'est pour cela qu'il faut éviter au maximum l'import de package entier car il risque d'y avoir des conflits.
    D'autant que les IDE tels Eclipse permettent de n'importer que le nécessaire & suffisant ! Je me rappelle avoir fait des imports * à l'école, lors de dév en éditeur texte...

  13. #13
    Membre chevronné Avatar de T`lash
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2007
    Messages : 381
    Par défaut
    Citation Envoyé par DevTeam_ Voir le message
    D'autant que les IDE tels Eclipse permettent de n'importer que le nécessaire & suffisant ! Je me rappelle avoir fait des imports * à l'école, lors de dév en éditeur texte...
    Mon prof d'informatique ne voulait pas entendre parler des imports *.

    Il préconisait même si on utilise un nom de classe qu'une seule fois de ne pas faire d'import du tout (et je suis bien d'accord avec lui).
    De toute façon une fois passée la compilation les noms complets des classes sont insérés dans le bytecode alors il n'y a plus d'import du tout. Dans ce cas si ça ne gène pas de ne pas faire l'import dans le .java autant ne pas le faire.

  14. #14
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Par défaut
    en effet, c est l import du package complet le probleme car les solutions precedentes etaient aussi bonnes sans le package.

    vous pardonnerez mon erreur de debutant

    merci encore!

  15. #15
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Par défaut
    Houla, ça peut arriver ! Qui n'a jamais galéré avant de se rendre compte qu'il s'agissait d'une petite connerie ?

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

Discussions similaires

  1. Créer une variable à partir d'une autre
    Par Angie1500 dans le forum SAS Base
    Réponses: 8
    Dernier message: 04/05/2012, 16h23
  2. Créer une variable à partir d'une macro
    Par cemyr dans le forum Macro
    Réponses: 3
    Dernier message: 08/12/2011, 10h11
  3. Réponses: 1
    Dernier message: 29/08/2011, 12h05
  4. Réponses: 2
    Dernier message: 13/09/2007, 11h34
  5. Créer une variable d'environnement à partir d'une liste de fichier
    Par ddams dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 23/02/2007, 20h03

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