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

Développement Web en Java Discussion :

Créer une donnée variable


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2012
    Messages : 121
    Par défaut Créer une donnée variable
    Bonjour

    J'ai différents éléments myradio1, myradio2, myradio3, ..., myradio99

    J'aimerais connaitre le code pour permettre de sélectionner un élément selon la valeur d'une variable "i" qui fluctue

    Dans Excel VBA se serait ("myradio" & i), mais j'ignore comment traduire ça en Java

    Merci

  2. #2
    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 : 55
    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
    Billets dans le blog
    2
    Par défaut
    Salut,

    Il va falloir surtout être plus clair que ça : qu'est-ce que tu appelles "éléments" ? En langage objet, comme en syntaxe Java, ce terme n'a pas de sens (à part avec les tableaux éventuellement).

    Si tu parles de variables de nom myradio1, myradio2, myradio3..., jusqu'à 99, il serait plus simple de procéder par tableau (au lieu de créer 99 variables, tu n'en créerais qu'une seule) : dans ce cas tu pourrais accèder à chaque élément du tableau par myradio[i], où i est une variable de type int, et myradio une variable de type tableau de quelque chose (qu'on déclarre comme ça TaClasse[] myradio, avec TaClasse le nom de la classe que tu utilises pour représenter ce quelque chose, où un type primitif (comme int par exemple)).

    Si myradio1 à myradio99 sont des valeurs de chaînes de caractères, tu peux faire la concaténation, que tu ferais en excel avec le signe &, avec le signe +, à la place :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String unevariable = "myradio"; // la variable unevariable "contient" la chaîne de caractères "myradio"
    String uneautrevariable = unevariable + "1"; // la variable uneautrevariable "contient" la chaîne de caractères "myradio1", la concaténation des 2 chaînes "myradio" et "1"
    String encoreuneautrevariable = unevariable + 2; // la variable encoreuneautrevariable "contient" la chaîne de caractères "myradio2", parce qu'on peut concaténer une String ("myradio") suivi d'un int (2), ce qui donne ce résultat

    Exemple, plus complet :

    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
     
    /**
      * une classe pour définir ce qu'est un myradio
     */
    public class MyRadio {
     
        private final int numero; // variable de classe stockant un numéro de radio
     
        public MyRadio(int numero) {
           this.numero=numero; // on stocke le numero passé en paramètre dans la variable de classe
        }
     
        /**
          * Une méthode permettant de demander à une instance de classe MyRadio son numéro
          */
        public final int getNumero() {
            return numero;
        }
     
       /**
         * Une méthode pour afficher le nom de l'instance
          */
       public String toString() {
           return "myRadio" + numero; // concaténation de la chaine "myradio" et du numéro 
       }
     
    }
    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
    MyRadio[] myradios = new MyRadio[99]; 
    // remplissage du tableau
    for(int i=0; i<myradios.length; i++) {
        // on créer une instance de MyRadio qu'on stocke dans un élement du tableau (en réalité on stocke sa référence, mais tu verras cette notion plus tard quand tu auras un peu plus d'expérience en programmation Java)
        myradios[i]=new MyRadio(i+1); // on passe i+1 pour avoir des numéro de 1 à 99, alors que i varie de 0 à 98, inclus
    }
     
    MyRadio radio1 = myradios[0]; // on copie l'instance de la case 0 (la première) dans une nouvelle variable radio1
    System.out.println( "Numéro de radio1 = " + radio1.getNumero()  ); // on affiche un message dans la console par concaténation (c'est une manière parmi d'autres de le faire, la plus simple)
     
    // on parcourt toutes les éléments du tableau, pour les afficher, 1 par 1.
    for( MyRadio myradio : myradios ) {
       System.out.println( "L'instance de numéro " + myradio.getNumero() + " s'appelle " + myradio.toString() );
       // toString() est une méthode spéciale : elle est appelée automatiquement lorsqu'on demande l'affichage comme ci-dessus, donc on pourrait écrire aussi :
       System.out.println( "L'instance de numéro " + myradio.getNumero() + " s'appelle " + myradio ); // ici la dernière concaténation avec la valeur de myradio est implicitement une concaténation avec le résultat de l'appel de myradio.toString()
    }
    D'une manière générale, il est très difficile de faire correspondre des notions de macro Excel avec des notions de programme Java. Il vaut mieux repenser ce que tu cherches à faire de manière indépendante de tout langage, et coder l'algorithme correspondant dans le langage de ton choix (il faut évidemment étudier les tutoriels de base pour appréhender les notions de base Java, classes, types primitifs, variables, etc...).
    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.

  3. #3
    Membre chevronné Avatar de freddou17
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2013
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 341
    Par défaut
    Bjr,

    En java pour récupérer une variable selon une nomenclature précise tu peux utiliser la réflexivité sur un objet!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
         for(int i=0; i<99 ; i++){
                 Field f = this.getClass().getField("myradio" + String.valueOf(i));// récupération des variables nommées "myradio1", "mayradio2"....
                 System.out.println(f.get(obj)); //affichage dans la sortie std de la valeur de "myradio1", "mayradio2"...
         }
    bon courage
    ++

  4. #4
    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 : 46
    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
    Citation Envoyé par freddou17 Voir le message
    Bjr,

    En java pour récupérer une variable selon une nomenclature précise tu peux utiliser la réflexivité sur un objet!
    Ho oui, sortons la sulfateuse pour résoudre un problème de design en faisant l'autruche

  5. #5
    Membre chevronné Avatar de freddou17
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2013
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 341
    Par défaut
    sorry effectivement en relisant j'avais mal compris le problème ...

  6. #6
    Membre très actif Avatar de Sennad
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2014
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Août 2014
    Messages : 180
    Par défaut
    Bah pk ? Elle n’a pas l'air si mal ta solution non ? Je ne connaissais pas en tout cas !

  7. #7
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Citation Envoyé par freddou17 Voir le message
    Bjr,

    En java pour récupérer une variable selon une nomenclature précise tu peux utiliser la réflexivité sur un objet!
    Oui, on peut mettre un serveur GlassFish et utiliser JNDI aussi ...
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  8. #8
    Membre très actif Avatar de Sennad
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2014
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Août 2014
    Messages : 180
    Par défaut
    Salut,

    Pense au petit
    A++

  9. #9
    Membre très actif Avatar de Sennad
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2014
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Août 2014
    Messages : 180
    Par défaut
    Salut !

    Joel.drigo ta du l'embrouiller avec tes pavés de codes


    J'aimerais connaitre le code pour permettre de sélectionner un élément selon la valeur d'une variable "i" qui fluctue
    Il faut que tu passes par un tableau, comme l'a déjà dit joel.deigo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String[] myRadio = new String[99];
    Dans Excel VBA se serait ("myradio" & i), mais j'ignore comment traduire ça en Java
    En java ca donnerai :

Discussions similaires

  1. Créer une nouvelle variable
    Par bob747 dans le forum R
    Réponses: 2
    Dernier message: 09/05/2012, 10h49
  2. Créer une macro-variable dans un rsubmit
    Par joyeux_lapin13 dans le forum Administration et Installation
    Réponses: 14
    Dernier message: 27/06/2011, 13h06
  3. Réponses: 3
    Dernier message: 29/04/2011, 17h02
  4. [Batch] créer une nouvelle variable d'environnement utilisateur
    Par riadmar dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 07/04/2011, 15h58
  5. Créer une/des variable(s) dynamique(s)
    Par jojo86 dans le forum Débuter
    Réponses: 3
    Dernier message: 09/04/2008, 14h55

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