Maison > Java > javaDidacticiel > 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
Libérer: 2024-11-02 22:09:30
original
589 Les gens l'ont consulté

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal