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

Java Discussion :

fonction de calcul [Attitude]


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Par défaut fonction de calcul
    Bonjour ,

    j'ai besoin d'une founction qui permet de calculer des operation par exemple:

    (1+2)/5=return resultat


    (5+3)-(2/3+5)/2= return resultat

    MErci

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    La fonction est toujours la même, seuls les paramètres changent ?
    Ou alors tu cherches un interpréteur style "calculatrice" avec une fonction quelconque ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre éclairé Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Par défaut
    c'est forcement une calculatrice mais fonction me permet de calculer ce genre des opération

  4. #4
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Par défaut
    Je ne comprends pas vraiment ce que tu recherches

  5. #5
    Membre éclairé Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Par défaut
    Désoler

    c'est pas forcement une calculatrice mais fonction me permet de calculer ce genre des opération
    (1+2)/5=return resultat


    (5+3)-(2/3+5)/2= return resultat

  6. #6
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 888
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 888
    Par défaut
    En gros, tu veux évaluer le résultat d'un calcul qui serait fourni en paramètre de ta fonction dans une String par exemple, et en retourner le résultat, c'est bien ça ?

    Il faut t'interesser, si tel est le cas, aux "Arbres Syntaxiques" pour décomposer ton calcul en éléments distincts de type "Opérateur" et "Opérande".

    C'est une tâche complexe, car il faut alors faire jouer la priorité des opérateurs, et ton programme deviendra vite compliqué.

    Une autre solution, plus simple eventuellement, c'est de t'interesser à la nouvelle notion introduite dans les derniers JDK qui est "le scripting", dont voici un lien, mais si tu es débutant en Java, tu vas peut-être avoir un peu de mal à mettre celà en place.

    Dans quel objectif souhaites-tu faire ceci ?

    A+

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Bonjour,

    Utilises-tu Java 6?

    Si oui tu pourrais utiliser l'API de scripting de Java 6 pour appeler la fonction eval javascript qui me semble correspondre à ton besoin.

    Voilà un exemple :

    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
     
    import javax.script.ScriptEngine;
    import javax.script.ScriptEngineManager;
    import javax.script.ScriptException;
     
     
    public class EvalJavascript {
    	public static double eval (String formule) throws ScriptException{
    		 // création a script engine manager
            ScriptEngineManager factory = new ScriptEngineManager();
            // création JavaScript engine
            ScriptEngine engine = factory.getEngineByName("JavaScript");
            // Evaluation Formule
     
            return (Double)engine.eval("eval("+formule+");"); 
    	}
     
    	public static void main(String[] args) {
    		try{
    			System.out.println(EvalJavascript.eval("(1+2)/5")); //renvoie 0.6
    			System.out.println(EvalJavascript.eval("(5+3)-(2/3+5)/2")); //renvoie 5.166666666666666
    		}catch (ScriptException e) {
    			e.printStackTrace();
    		}
    	}
    }
    Edit : grillé par KiLVaiDeN

Discussions similaires

  1. Fonction de calcul (convertisseur)
    Par MeRc|LeSs dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 28/12/2005, 18h24
  2. inversion de fonction de calcul
    Par jarko dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 16/12/2005, 18h31
  3. Réponses: 6
    Dernier message: 22/11/2005, 17h08
  4. Modifier un champs texte avec une fonction PHP (calcul TVA)
    Par Stella2809 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/11/2005, 00h55
  5. fonction qui calcule la factorielle ?
    Par piff62 dans le forum C
    Réponses: 8
    Dernier message: 27/02/2005, 11h00

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