Rumah  >  Artikel  >  Java  >  Bagaimanakah exp4j boleh membuat penilaian ungkapan matematik yang cekap di Jawa?

Bagaimanakah exp4j boleh membuat penilaian ungkapan matematik yang cekap di Jawa?

Susan Sarandon
Susan Sarandonasal
2024-11-02 22:09:30469semak imbas

How can exp4j make efficient math expression evaluation in Java?

Penilaian Ungkapan Matematik yang Cekap dalam Java

Menilai ungkapan matematik ialah tugas biasa dalam pembangunan Java. Ini boleh dicapai menggunakan pelbagai kaedah, masing-masing dengan kelebihan dan kekurangannya.

Memperkenalkan exp4j

exp4j ialah perpustakaan penilai ekspresi popular untuk Java yang menggunakan algoritma Shunting Yard Dijkstra . APInya yang ringan (sekitar 25KB) dan intuitif menjadikannya pilihan yang sesuai untuk banyak aplikasi.

Menggunakan exp4j untuk Penilaian Ungkapan

Untuk menilai ungkapan matematik menggunakan exp4j:

  1. Buat contoh ExpressionBuilder dengan ungkapan sebagai parameter.
  2. Jika perlu, tentukan nama fungsi tersuai dan kaitkan dengan kaedah Java yang sepadan.
  3. Secara pilihan tambahkan pembolehubah pada ungkapan menggunakan kaedah denganPembolehubah atau pembolehubah.
  4. Bina objek ungkapan menggunakan build().
  5. Nilai ungkapan dengan memanggil hitung() atau nilai().

Contoh Kod:

<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 juga menyokong definisi dan penilaian fungsi tersuai, memberikan fleksibiliti selanjutnya.

Atas ialah kandungan terperinci Bagaimanakah exp4j boleh membuat penilaian ungkapan matematik yang cekap di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn