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 :

Création d'un objet par une variable?


Sujet :

avec Java

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Février 2012
    Messages : 20
    Par défaut Création d'un objet par une variable?
    Bonjour, voilà je débute en java, je suis étudiant en développement web et logiciel.
    En fait j'ai commencé une interface graphique en java ainsi qu'une petite appli console qui gère des comptes en banque.
    Pour créer un nouveau compte courant j'aimerai faire un truc du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CompteCourant <variable> = new CompteCourant(variable);
    Où la variable serait saisie dans un JTextField et validée par un JButton "Ok", j'ai déjà récupérer la valeur du JTextField en cliquant sur "Ok".

    J'ai essayé de faire comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CompteCourant compteCreation.getText() = new CompteCourant(compteCreation.getText());
    ou comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    compte = compteCreation.getText();
    CompteCourant compte = new CompteCourant(compte);
    J'ai ensuite essayé avec la création d'une ArrayList et donc ça donnerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    comptes.add(compteCreation.getText());
    CompteCourant comptes.get(i) = new CompteCourant(comptes.get(i));
    Il veut bien me le prendre entre les () à la fin puisque celà renvoit à l'identifiant du compte en String, mais en nom d'objet ça marche pas, je sais que c'est possible mais je vois pas comment faire je connais pas encore beaucoup de choses en java

    Si une âme charitable passe par ici ...

  2. #2
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Par défaut
    Bonjour,

    Nope, c'est pas possible de faire ce que tu essayes de faire... Et pas utile ! Pourquoi tu voudrais faire une chose pareil ?

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2011
    Messages : 65
    Par défaut Possible mais pas beaucoup d'intéret
    Salut à toi.

    Alors ce que tu veux faire j'en vois pas vraiment l'intérêt.

    Cependant si tu y tiens, pour générer du code java avec des variables qui changent par rapport à certaines conditions, ou encore dans des boucles, tu peux utiliser JET... Mais cela me parait complexe pour ce que tu veux faire... As-tu réellement besoin d'avoir des variables différentes pour chacun de tes comptes bancaires? Ne suffit-il pas d'avoir un champ ID dans ton object CompteCourant, ou encore d'utiliser une Map<ID, CompteCourant>?

    Bon courage à toi dans le monde de Java, tu verras c'est simple et efficace comme langage

  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
    C'est juste qu'il veut pouvoir retrouver les comptes en banque à partir de leur nom...

    On ne peut pas faire ça avec les noms de variables, mais il suffit de ranger les comptes en banque dans une Map :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Map<String, CompteCourant> comptes = new HashMap<String, CompteCourant>();
     
    // ...
     
    CompteCourant newCompte = new CompteCourant(variable);
    comptes.put(variable, newCompte);
     
    // ...
    // Et pour le retrouver :
     
    CompteCourant compte = comptes.get(variable);
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Février 2012
    Messages : 20
    Par défaut
    Merci pour vos réponses, en fait c'est que j'avais fais une petite fenêtre en swing vite fait avec un JTextField et un JButton "Ok" et je voulais créer un compte courant en rentrant son nom dans le TextField.

    Je ne sais pas si cela à un interêt je débute tout juste et c'est juste que pour l'instant par la console quand je voulais tester des opérations sur deux comptes je les fabriquaient tous les deux comme ça :

    CompteCourant monCompte = new CompteCourant();
    CompteCourant monCompte2 = new CompteCourant();

    et apres je faisais par exemple un virement :

    monCompte.effectuerVirement(50,monCompte2);

    Je voulais juste pouvoir créer les comptes et faire des opérations en passant par la fenêtre graphique.

  6. #6
    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
    Comme j'ai dit, ça marche très bien.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2011
    Messages : 65
    Par défaut
    En effet, une Map semble bien être la réponse

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Février 2012
    Messages : 20
    Par défaut
    Qu'est-ce que fait le HashMap exactement? En fait tous mes CompteCourant auront quand même le nom newCompte non? mais je pourrais les identifier par une sorte de deuxième nom?

  9. #9
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Février 2012
    Messages : 20
    Par défaut
    Merci beaucoup pour vos réponses, ça fonctionne très bien avec un Map, en fait il attribue le nom ensuite via :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CompteCourant compte = comptes.get(variable);
    C'est bien cela?

  10. #10
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Citation Envoyé par MiniDevZ Voir le message
    C'est bien cela?
    Tu fais ton JTextField, tu y inscris un nom à l'intérieur et à la validation, tu associes un compte courant à ce nom. Et tu stockes l'association nom <> compte courant dans une Map.

    Quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    JTextField jtf = new JTextField();
    ...
    // A la validation
    String nom = jtf.getText();
    // Reprise du code de thelvin
    Map<String, CompteCourant> comptes = new HashMap<String, CompteCourant>();
    CompteCourant newCompte = new CompteCourant(nom);
    comptes.put(nom, newCompte);
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  11. #11
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 190
    Par défaut
    En somme tu fais un objet qui garde en mémoire toutes les références vers les compte que tu as crées. Et pour retrouver les références tu utilises le nom rentré par les utilisateurs.

  12. #12
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Février 2012
    Messages : 20
    Par défaut
    En tout cas c'est exactement ce qu'il me fallait, du coup plus besoin de passer par le code pour tester mes ajouts, l'interface graphique le fait pour moi, je dois mettre sujet résolu?

  13. #13
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 190
    Par défaut
    Si tu considères que tu as ta réponse, oui. Tu peux aussi marquer la réponse qui t'a aidé.

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

Discussions similaires

  1. Alimentation d'un objet par une variable string
    Par Harry Covair dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/08/2013, 00h47
  2. Acceder a un objet par une variable
    Par Steve57 dans le forum Débuter
    Réponses: 6
    Dernier message: 17/06/2011, 17h01
  3. Classe d'un Objet défini par une variable
    Par tatouille dans le forum VB.NET
    Réponses: 4
    Dernier message: 12/06/2007, 13h38
  4. Création d'un objet par Variable
    Par Thanatos70 dans le forum Langage
    Réponses: 8
    Dernier message: 25/10/2006, 20h24
  5. [VB6] Liberer la memoire utilisée par une variable Objet
    Par ProgElecT dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 25/08/2006, 19h17

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