Heim  >  Artikel  >  Java  >  Wie kann exp4j eine effiziente Auswertung mathematischer Ausdrücke in Java durchführen?

Wie kann exp4j eine effiziente Auswertung mathematischer Ausdrücke in Java durchführen?

Susan Sarandon
Susan SarandonOriginal
2024-11-02 22:09:30469Durchsuche

How can exp4j make efficient math expression evaluation in Java?

Effiziente mathematische Ausdrucksauswertung in Java

Die Auswertung mathematischer Ausdrücke ist eine häufige Aufgabe in der Java-Entwicklung. Dies kann mit verschiedenen Methoden erreicht werden, jede mit ihren Vor- und Nachteilen.

Wir stellen vor: exp4j

exp4j ist eine beliebte Ausdrucksauswertungsbibliothek für Java, die den Shunting Yard-Algorithmus von Dijkstra nutzt . Sein geringes Gewicht (ca. 25 KB) und die intuitive API machen es zu einer geeigneten Wahl für viele Anwendungen.

Exp4j für die Ausdrucksauswertung verwenden

Um mathematische Ausdrücke mit exp4j auszuwerten:

  1. Erstellen Sie eine ExpressionBuilder-Instanz mit dem Ausdruck als Parameter.
  2. Definieren Sie bei Bedarf benutzerdefinierte Funktionsnamen und verknüpfen Sie sie mit entsprechenden Java-Methoden.
  3. Fügen Sie optional Variablen hinzu Ausdruck mithilfe der Methoden „withVariable“ oder „variable“.
  4. Erstellen Sie das Ausdrucksobjekt mit build().
  5. Bewerten Sie den Ausdruck durch Aufrufen von „calch()“ oder „evaluieren()“.

Beispielcode:

<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 unterstützt auch die Definition und Auswertung benutzerdefinierter Funktionen und bietet so weitere Flexibilität.

Das obige ist der detaillierte Inhalt vonWie kann exp4j eine effiziente Auswertung mathematischer Ausdrücke in Java durchführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn