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 :

Modifier formule de calcul selon renvoi JCheckBox


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 233
    Par défaut Modifier formule de calcul selon renvoi JCheckBox
    Bonjour,

    Je refais appel à vos connaissances pour m'aider. J'ai une interface avec une JCheckBox appelée call et une autre appelée put. Ensuite, j'ai une formule de calcul dite simulation dans une classe MonteCarlo Simulation. MonteCarlo Simulation attend comme argument: (string, int, int, int, int, int, int, 168) car 168 est une constante.

    J'ai essayé avec le bout de code suivant de modifier le 1er argument string et de mettre un c si la JCheckBox call est cochée ou un p si la JCheckBox put est cochée ais cela ne fontionne pas...

    Pourriez-vous m'indiquer des pistes pour arranger mon code SVP?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Boolean call = fenetre.getCall().isSelected();
    //		if (call = true){
    //			String callPutFlag = "c";
    //		}
    //		
    ////		Boolean put = fenetre.getCall().isSelected();
    ////		if (put = true){
    ////			String callPutFlag = "p";
    ////		}
     
     
    		//Calcul
    		MonteCarloSimulation simulation = new MonteCarloSimulation(callPutFlag, s, x, t, r, b, v, 168);
    		double  dResultat = simulation.calcul();

    MErci d'avance

  2. #2
    Membre émérite
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Par défaut
    Bonsoir,
    Tout d'abord, si 168 est une constante, ne la mets pas en paramètre de ta méthode.
    Tu définis ta constante en haut de ta classe et tu l'utilises dans ta méthode et c'est tout.

    Après pour ton souci essaie ça :
    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
     
    Boolean call = fenetre.getCall().isSelected();
    String callPutFlag = null;
     
    if (call = true){
        callPutFlag = "c";
    }
     
    Boolean put = fenetre.getCall().isSelected();
    if (put = true){
        callPutFlag = "p";
    }
     
     
    //Calcul
    MonteCarloSimulation simulation = new MonteCarloSimulation(callPutFlag, s, x, t, r, b, v);
    double  dResultat = simulation.calcul();

  3. #3
    Membre émérite
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Par défaut
    Puis je trouve étonnant que ton code compile car dans chaque if tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String callPutFlag = ...
    Donc la tu définis une variable locale qui n'existe que dans ton if. Donc lors de ton appel de méthode elle n'est pas définie.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 233
    Par défaut
    Super ça marche!

    Finalement, j'ai appris qu'on peut modifier le 168 donc j'en ai fait une variable comme les autres!

    Maintenant, suite au bout de code que tu m'as donné, je souhaite calculer le résultat donné par ma MonteCarlo Simulation. Les arguments de cette méthode sont corrects mais le résultat ne s'affiche pas dans mon JLabel resultat...

    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
    //Récupère les ReturnButton et modifie callPutFlag en fonction
    		Boolean call = fenetre.getCall().isSelected();
    		String callPutFlag = null;
     
    		if (call = true){
    		    callPutFlag = "c";
    		}
     
    		Boolean put = fenetre.getCall().isSelected();
    		if (put = true){
    		    callPutFlag = "p";
    		}
     
    		//Calcul
    		MonteCarloSimulation simulation = new MonteCarloSimulation(callPutFlag, s, x, t, r, b, v, nSteps);
    		double  dResultat = simulation.calcul();
     
    		//Passer dResultat en string pour l'affichage 
    		String sResultat = Double.toString(dResultat);
    		//Affichage du résultat
    		JLabel resultat = fenetre.getResultat();
    		resultat.setText(sResultat);
    Je vois des messages d'erreur avec des threads dans ma console...
    Est-ce tu as une idée?

    Merci d'avance!

  5. #5
    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
    Pour le résultat qui s'affiche pas c'est qu'il manque un refresh après avoir changé la valeur de ton JLabel.

    D'autre par selon moi t'auras toujours "p" comme premier argument puisque tu fais
    ce qui est toujours vrai. Il faudrait faire
    Idem pour call, of course

  6. #6
    Membre expérimenté Avatar de kalina
    Femme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2009
    Messages : 220
    Par défaut
    bonjour,
    c'est juste un petit plus pour la variable put, comme c'est un boolean tu peux tout simplement faire :
    cela veut dire et pour la tester si elle est à false tu fais .
    bon courage.

Discussions similaires

  1. [XL-2013] Formule pour calculer le montant des commissions selon conditions
    Par dufryve dans le forum Excel
    Réponses: 7
    Dernier message: 06/02/2015, 15h57
  2. Réponses: 3
    Dernier message: 04/01/2013, 16h27
  3. [XL-2003] Formule calcul pour renvoi
    Par desatan dans le forum Excel
    Réponses: 3
    Dernier message: 07/04/2010, 19h00
  4. Réponses: 1
    Dernier message: 15/05/2008, 16h54
  5. Réponses: 2
    Dernier message: 07/02/2008, 10h29

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