Maison  >  Article  >  Java  >  Comment exp4j peut-il effectuer une évaluation efficace des expressions mathématiques en Java ?

Comment exp4j peut-il effectuer une évaluation efficace des expressions mathématiques en Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-02 22:09:30469parcourir

How can exp4j make efficient math expression evaluation in Java?

Évaluation efficace des expressions mathématiques en Java

L'évaluation des expressions mathématiques est une tâche courante dans le développement Java. Ceci peut être réalisé en utilisant diverses méthodes, chacune avec ses avantages et ses inconvénients.

Présentation d'exp4j

exp4j est une bibliothèque d'évaluation d'expression populaire pour Java qui utilise l'algorithme Shunting Yard de Dijkstra. . Son API légère (environ 25 Ko) et intuitive en fait un choix approprié pour de nombreuses applications.

Utiliser exp4j pour l'évaluation d'expressions

Pour évaluer des expressions mathématiques à l'aide d'exp4j :

  1. Créez une instance ExpressionBuilder avec l'expression comme paramètre.
  2. Si nécessaire, définissez des noms de fonctions personnalisés et associez-les aux méthodes Java correspondantes.
  3. Ajoutez éventuellement des variables au expression à l'aide des méthodes withVariable ou variable.
  4. Construisez l'objet d'expression à l'aide de build().
  5. Évaluez l'expression en appelant calculate() ou évalue().

Exemple de code :

<code class="java">// Version 0.4.7 and below
Calculable calc = new ExpressionBuilder("3 * sin(y) - 2 / (x - 2)")
        .withVariable("x", varX)
        .withVariable("y", varY)
        .build()
double result1=calc.calculate();

// Version 0.4.8 and above
Expression calc = new ExpressionBuilder("3 * sin(y) - 2 / (x - 2)")
    .variable("x", x)
    .variable("y", y)
    .build();
double result1 = calc.evaluate();</code>

exp4j prend également en charge la définition et l'évaluation de fonctions personnalisées, offrant une flexibilité supplémentaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn