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 :

Creation de variables


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Points : 25
    Points
    25
    Par défaut Creation de variables
    Bonjour à tous,

    je viens de commencer à m'intéresser à la programmation objet. Aprés avoir appris quelques bases j'ai tenter de répondre a un exercice demandant de créer une sorte de petit programme permettant de faire quelques opérations basique sur des compte bancaires (débit, crédit, virement, affichage des données). J'ai bien réussi créer les fonctions dans ma classe compte mais je souhaiterait maintenant dans mon programme principal pouvoir créer autant de nouveaux compte que je veux a partir de la console.

    Je m'explique : Je peux actuellement initialisé des comptes en banques mais il faut que je le fasse a l'intérieur même du programme. J'aimerais pouvoir que l'utilisateur, en manipulant uniquement la console (je n'ai pas encore vu la programmation graphique donc je m'en tiens a la console ) puisse créer un nouveau compte. Cela revient (je pense) a créer a l'intérieur d'une fonction un variable de type Compte or je ne sais pas comment faire cela.

    Merci d'avance

    Ortholle

  2. #2
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Points : 852
    Points
    852
    Par défaut
    Bonjour,

    Tu récupère les informations nécessaires à la création d'un objet Compte depuis la console, et tu instancie ton objet.
    Tu peut ensuite effectuer des actions sur cet objet Compte.

    Exemple à deux balles :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Compte leNouveauCompte = new Compte("nom", "prenom", 1500);
    leNouveauCompte.debit(221.50);
    System.out.println("Nouveau solde = " + leNouveauCompte.getSolde().toString());
    Il faut bien sur que tu code ta classe Compte

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Tout d'abord merci d'avoir répondu aussi vite
    La n'est pas mon problême, effectivement ( c'est ce que j'ai compris en tout cas) tu crée toi aussi le Compte a partir du programme.

    Je donne un exemple de ce que je voudrais que la console affiche :

    >Quel est votre nom ?
    durand
    >De combien d'argent disposez vous ?
    10000

    a ce moment la le programme créer un compte du style Compte_Durand sur lequel est déja crédité 10000 euros. De plus je voudrais pouvoir créer autant de compte que je le souhaite.

    Je ne sais pas si ce que je dis est clair mais je fais de mon mieux

    Ortholle

  4. #4
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Points : 852
    Points
    852
    Par défaut
    Il suffit de mettre le code de demande de nom et de création de compte dans une boucle, afin de créer autant de compte que tu veut.

    L'étape suivante et de remplir une liste avec ces comptes, que tu pourrait ensuite consulter, modifier ...

    Sinon pour le nom de la variable (de l'objet Compte), peu importe son nom, ce n'est qu'une référence vers cet objet, qui lui contient le nom !

  5. #5
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    J'ai pas vraiment saisi, ce que tu me suggère de faire c'est en gros

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while(1==1)
    {
    System.out.println("Votre nom");
    nom = sc.nextLine();
    Compte nouveauCompte = new Compte(nom);
    }
    ou nom est une string et sc un Scanner.

    Si c'est bien la solution que tu préconise, ce que je ne comprend pas c'est comment créer plusieurs exemplaire d'un objet qui porteront tous le même nom (nouveauCompte). J'ai remarqué que tu mentionnais les listes or je ne les ai pas encore vu donc c'est peut être la raison de mon ignorance


    Merci encore de la rapidité de tes réponses

    Ortholle

  6. #6
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Points : 852
    Points
    852
    Par défaut
    Ah quiproquo, tu veut créer un certain nombre de compte avec le même nom (celui que tu viens de saisir)?

    Si oui alors il te faudra tout de même un conteneur pour stocker tout ces objets, peu importe que leurs attributs soient les mêmes (ici le nom).

    Une liste c'est un tableau d'objet si tu veut, rien de compliqué, j'te laisse regarder les classes Vector, ArrayList ou List simplement.

    Sinon en attendant rien ne t'empêche d'écrire en dur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Compte compte1 = new Compte(nomRecuperer);
            Compte compte2 = new Compte(nomRecuperer);
            Compte compte3 = new Compte(nomRecuperer);
            Compte compte4 = new Compte(nomRecuperer);
            ...
    Mais c'est tout pas beau .

    PS : remarque alacon, tu peut écrire while(true) pour faire une belle boucle infinie

  7. #7
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Justement ce que je veux c'est créer des comptes avec des noms différent sans avoir a passer par la méthode rébarbative que tu as cité . En gros ce que je voudrais faire (mais je sais que ce que je marque a la suite est totalement impossible) c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    i=0
    while(true)// bien ? :p
    {
    System.out.println("Votre nom ?");
    nom = sc.nextLine();
    Compte compte_i = new Compte(nom);
    i++;
    }
    je répète : je sais que ce code ne marche pas mais je me demandais simplement si il était possible de réalisé quelque chose de la sorte

    Dans tout les cas je vais aller voire du côté des listes si tu me dis que j'y trouverais mon bonheur :p

    Ortholle

  8. #8
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Points : 852
    Points
    852
    Par défaut
    Ok j'espérais que tu ne voulais pas faire ca .

    C'est pour ca que j'insistais sur le fait que le nom de la variable n'a aucune importance .

    Blague à part, c'est probablement possible de le faire mais je ne sais pas comment.

    A bientôt peut être pour de nouvelles aventures chocolatées ! (je rentre chez moi en gros). Au pire tu peut m'envoyer un message sur skype .

  9. #9
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    xD

    Ba je te remercie bien en tout cas pour ton aide, sa fais toujours plaisir que quelqu'un prenne le temps de répondre.

    Je te souhaite une bonne soirée


    Ortholle

  10. #10
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    Salut,

    il te faut une liste. je te conseille d'aller voir la javadoc

    http://java.sun.com/javase/6/docs/api/
    package java.util

    Grosso modo, on aime utiliser des interfaces pour la déclaration ( en qq sorte un contrat à remplir, équivalent du header en C).
    Plusieurs implémentations de cette interface sont disponibles. Pour une utilisation traditionelle, un ArrayList fera l'affaire.
    Depuis Java5 et l'apparition des généériques, on peut typer les listes, cad dire ce que contient la liste. Cela se note entre <>.


    Par exemple tu peux faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    List<Compte> listeDeComptes = new ArrayList<Compte>();
     
    while(true)
    {
    System.out.println("Votre nom ?");
    nom = sc.nextLine();
    listeDeComptes.add(new Compte(nom));
    }
    Ensuite reporte toi à la javadoc pour voir les méthodes disponibles sur une liste (add, get, etc...)

    Bon courage et banzai

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Points : 2 011
    Points
    2 011
    Par défaut
    Citation Envoyé par ortholle Voir le message
    Justement ce que je veux c'est créer des comptes avec des noms différent sans avoir a passer par la méthode rébarbative que tu as cité . En gros ce que je voudrais faire (mais je sais que ce que je marque a la suite est totalement impossible) c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    i=0
    while(true)// bien ? :p
    {
    System.out.println("Votre nom ?");
    nom = sc.nextLine();
    Compte compte_i = new Compte(nom);
    i++;
    }
    je répète : je sais que ce code ne marche pas mais je me demandais simplement si il était possible de réalisé quelque chose de la sorte

    Dans tout les cas je vais aller voire du côté des listes si tu me dis que j'y trouverais mon bonheur :p

    Ortholle
    Comme dis Génoce, tu peux utiliser une collection comme une liste par exemple :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    List<Compte> listeCompte = new ArrayList<Compte>();
    while(true)// pas forcément top, faudrait quand même prévoir une condition de sortie
    {
    System.out.println("Votre nom ?");
    nom = sc.nextLine();
    Compte compte = new Compte(nom);
    listeCompte.add(compte);
    }
    Sinon, si tu tiens à pouvoir accéder à chacun de tes comptes via une clé style compte_i tu peux t'orienter vers les Maps qui sont des collections permettant d'associer une clé et une valeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    int i =0;
    Map<String, Compte> mapCompte = new HashMap<String, Compte>();
    while(//prévoir une condition de sortie propre)
    {
    System.out.println("Votre nom ?");
    nom = sc.nextLine();
    Compte compte = new Compte(nom);
    mapCompte.put("Compte"+i, compte);
    i++;
    }
    Ca te permet d'accéder au compte que tu veux en utilisant la clé que tu as défini :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Compte unCompte = mapCompte.get("Compte5");
    Edit: grillé

    -"Tout ça me paraît très mal organisé. Je veux déposer une réclamation. Je paye mes impôts, après tout!"
    -"JE SUIS LA MORT, PAS LES IMPÔTS! MOI, JE N'ARRIVE QU'UNE FOIS".

    Pieds d'argile (1996), Terry Pratchett 1948 - 2015
    (trad. Patrick Couton)

  12. #12
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Super merci beaucoup a tout les deux


    Ortholle

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

Discussions similaires

  1. pb creation de variable
    Par captainamerica75 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 12/04/2007, 09h14
  2. Creation de variables a partir de variables
    Par Quatsch dans le forum C
    Réponses: 9
    Dernier message: 27/05/2006, 14h35
  3. Creation de variable a la volée ...
    Par SubZero2 dans le forum Langage
    Réponses: 10
    Dernier message: 15/09/2005, 14h36
  4. [langage] Création de variable d'environnements
    Par Smaugg dans le forum Langage
    Réponses: 20
    Dernier message: 26/04/2004, 09h32
  5. [VB6] creation de variable de type string dynamiquement
    Par da40 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 12/06/2003, 16h59

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