„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 08.11.2024
Durchsuche:390

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:

// 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();

exp4j unterstützt auch die Definition und Auswertung benutzerdefinierter Funktionen und bietet so weitere Flexibilität.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3