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 :

String et nom de variable


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut String et nom de variable
    Bonjour,

    La question c'est

    Dans le code source de la classe
    j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String code4245 = "quelquechose"
    jusque là facil de faire appel à ce String, en faisant code4245

    mais le problème est que ce String est code+4chiffres qui peuvent varier lorsque j'execute un autre programme genere le code source de cette classe

    donc le nom du String c'est "code" + N, N est connu
    mais comment je fais pour appeler ce String, pour connaitre sa valeur en utilisant N de façon automatique

    il faudrait une sorte de caractère * comme en ligne de commande pour faire String s=code**** et ça recherche un String parmi les variables avec un nom començant par code

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut
    la variabke String que je veut recupérer est pas listée dans un tableau , je sais pas auparavant comment elle s'appellera
    c'est "code"+un nombre tiré au hasard n connu
    comment je peux recuperer les variables? je crois pas que c'est possible

    le probleme c'est que sans le nombre tiré au hasard j'ai juste à invoquer code et ça retourne la valeur stocké dans la chaine code
    là avec n, j'aimerais invoqué (code+n) code concaténé avec le nombre n, mais comment faire ça

    <code>int n = 80;
    String code80="bonjour";

    String s = "code".concat(n);[/CODE]

    mais s va contenir "code80" et pas "bonjour" comme je voudrai

  3. #3
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Du genre ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String s = "coucou";
    int i = 12;
    String c = s + i;
    EDIT : EN fait, j'ai pas compris ce que tu voulais...
    Je ne répondrai à aucune question technique en privé

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut
    c'est pas exactement ça
    c'est le nom de la variable qui a les chiffres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String s = "coucou";
    String s2020 = "coucou!";
    int n=2020;
    comment recuperer la valeur vers laquelle pointe s2020 cad "coucou!"
    avec "s" et n comme données

  5. #5
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Je crois... (j'ai bien dit je crois) (si j'ai compris (je suis vraiment pas sûr)) => il faut que tu utilises une Map.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Map<Integer, String> map = new HashMap<Integer, String>();
     
    map.put(12345, "coucou");
    map.put(12, "salut");
     
    map.get(12345) -> retourne "coucou"
    map.get(12)   -> retourne "salut"
    Je ne répondrai à aucune question technique en privé

  6. #6
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 077
    Points : 7 984
    Points
    7 984
    Par défaut
    avec reflection ? :

    int V = 123456;
    Field f = g.getClass().getDeclaredField("TOTO_"+V);
    String valeur = (String) f.get(g);

    (en imaginant g qui est ta classe) ?
    (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

Discussions similaires

  1. Conversion string --> nom de variable
    Par Gyslain dans le forum Général Python
    Réponses: 2
    Dernier message: 20/10/2009, 20h10
  2. Réponses: 2
    Dernier message: 23/04/2009, 18h28
  3. Réponses: 9
    Dernier message: 11/03/2009, 14h26
  4. nom de variable dans un string
    Par vincenth_30 dans le forum C++
    Réponses: 7
    Dernier message: 31/07/2007, 18h34
  5. Réponses: 10
    Dernier message: 06/09/2006, 09h01

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