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
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
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.
c'est forcement une calculatrice mais fonction me permet de calculer ce genre des opération
Je ne comprends pas vraiment ce que tu recherches![]()
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
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+
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 :
Edit : grillé par KiLVaiDeN
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(); } } }
Partager