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 :

Methode modifiant une variable d'une autre classe


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2013
    Messages : 35
    Par défaut Methode modifiant une variable d'une autre classe
    Salut à tous, c'est de nouveau moi avec mon programme de patate et de carottes...

    J'ai des objets qui ont des prix et des quantités (qte). J'ai une variable "argent" dans ma classe principale et je voudrais faire une méthode acheter (dans la classe "ingredient") qui met à jour la quantité, et l'argent possédé. J'ai essayé ceci mais je pense que je dois mal m'y prendre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    		public void acheter(int nbrachat){
    		this.qte = qte + nbrachat;
    		argent = argent - (this.prix * nbrachat);
    	}
    Evidement eclipse me souligne la variable argent car elle ne fait pas partie de la classe contenant la méthode... L'idée serait de pouvoir faire des "boeuf.acheter(4); " tout simplement et que cela me rajoute 4 qte de boeuf et soustrait le prix à mon capital "argent".

    Je comprendrais que vous en ayez marre de m'aider tout le temps mais si je réussi mon programme promis j'invite à manger xD

  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
    Pourquoi ne pas faire simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public int acheter(int nbrachat){
    		this.qte = qte + nbrachat;
    		return this.prix * nbrachat;
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    argent -= ingredient.acheter(10);
    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 averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2013
    Messages : 35
    Par défaut
    Ah oui ca c'est bien, mais j'ai quand meme un hic, c'est que les prix sont des double et que les qte sont des int... Je pense que c'est pour ca qu'il souligne mon code :

    argent -= poivron.acheter(2);
    //the operator -= is undefined for the argument type(s) double, void

    comment palier à ce probleme ducoup ? j'ai essayer de caster les variables dans la méthode mais ca ne marche pas, dans le code pareil...

  4. #4
    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
    Tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public double acheter(int nbrachat){
    		this.qte = qte + nbrachat;
    		return this.prix * nbrachat;
    	}
    Bizarre le void dans ton message d'erreur... tu as bien mis un type de retour à ta méthode acheter ?
    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.

  5. #5
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2013
    Messages : 35
    Par défaut
    Ok ca fonctionne !

    pinaise 30 minutes que je galere eclipse qui me souligne un truc je cherche partout je trouve pas d'erreur, au bout de 30 minutes je ferme je re-ouvre et la avec le meme code pas d'erreur... c'est à se taper la tete sur la clavier

    Allez un gros merci encore Joel tu participe beaucoup à mes progres si je trouve un jour un taf de développeur je t'enverrai un cheque lol !

  6. #6
    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
    Citation Envoyé par Kodut Voir le message
    pinaise 30 minutes que je galere eclipse qui me souligne un truc je cherche partout je trouve pas d'erreur, au bout de 30 minutes je ferme je re-ouvre et la avec le meme code pas d'erreur... c'est à se taper la tete sur la clavier
    Il arrive parfois que sous d'anciennes versions d'Eclipse, un code erroné modifié ensuite reste "souligné", même si on sauvegarde. Une exécution du programme remet les choses en ordre. J'ai remarqué par ailleurs que sous Mars, même avec une exécution le code non erroné reste en erreur et empêche le run : tape une espace, supprime-la, sauve et l'erreur n’apparaît plus. Ceci arrive en particulier parfois lorsqu'on corrige l'erreur (lorsqu'on la corrige en laissant d'autres erreurs et notamment lorsqu'on le fait en changeant l'ordre des lignes (par copier/coller, couper/coller)) sans avoir sauvegardé avant,


    Citation Envoyé par Kodut Voir le message
    Allez un gros merci encore Joel tu participe beaucoup à mes progres si je trouve un jour un taf de développeur je t'enverrai un cheque lol !
    Comme partout, je n'accepte plus les chèques
    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.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/03/2016, 16h23
  2. Garder une référence vers une variable d'une autre classe
    Par choupeo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 08/12/2007, 18h30
  3. Réponses: 1
    Dernier message: 15/02/2007, 00h24
  4. Passer une variable d'une form a l'autre
    Par 6BORG dans le forum Delphi
    Réponses: 3
    Dernier message: 19/08/2006, 17h15
  5. [debutant]passager une variable d'une page a une autre
    Par Eisy dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/03/2006, 11h18

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