Nilai Ungkapan Matematik dalam Java dengan Mudah
Menggabungkan penilaian formula dinamik ke dalam aplikasi Java anda boleh meningkatkan fungsinya dengan sangat baik. Artikel ini meneroka penyelesaian untuk menilai ungkapan matematik yang disediakan oleh pengguna, membolehkan anda bekerja dengan mudah dengan formula kompleks seperti "sin (x pi)/2 1".
Cabaran
Untuk menilai ungkapan matematik yang diberikan, anda memerlukan alat yang memahami sintaks matematik dan boleh melakukan pengiraan yang diperlukan. Terdapat beberapa perpustakaan yang tersedia untuk tujuan ini.
Penyelesaian: exp4j
Satu perpustakaan yang sangat disyorkan ialah exp4j, yang menggunakan algoritma Shunting Yard Dijkstra untuk penilaian ekspresi yang cekap. Kemudahan penggunaannya dan saiznya yang kecil (sekitar 25KB) menjadikannya pilihan yang ideal.
Menggunakan exp4j
Untuk menggunakan exp4j, buat Boleh Dikira objek dengan menyediakan ungkapan sebagai rentetan. Anda kemudiannya boleh menetapkan nilai mana-mana pembolehubah yang terlibat dalam formula menggunakan kaedah withVariable. Akhir sekali, panggil kaedah kira untuk menilai ungkapan. Berikut ialah contoh:
<code class="java">Calculable calc = new ExpressionBuilder("3 * sin(y) - 2 / (x - 2)") .withVariable("x", varX) .withVariable("y", varY) .build(); double result1 = calc.calculate();</code>
Untuk versi exp4j yang lebih baharu, gunakan kaedah bina dan nilai:
<code class="java">Expression calc = new ExpressionBuilder("3 * sin(y) - 2 / (x - 2)") .variable("x", x) .variable("y", y) .build(); double result1 = calc.evaluate();</code>
Fungsi Tersuai
exp4j juga membenarkan anda mentakrifkan fungsi tersuai, membolehkan anda memanjangkan keupayaannya untuk keperluan khusus. Rujuk dokumentasi exp4j untuk mendapatkan butiran tentang pelaksanaan fungsi tersuai.
Dengan menggunakan exp4j, anda boleh menilai ungkapan matematik dalam Java dengan mudah, meningkatkan fleksibiliti aplikasi anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menilai Ungkapan Matematik dalam Java dengan Mudah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!