Rumah > Java > javaTutorial > teks badan

Bagaimana Menghuraikan Ungkapan Aritmetik dan Membina Perwakilan Pokok di Jawa?

Linda Hamilton
Lepaskan: 2024-10-25 05:36:02
asal
842 orang telah melayarinya

How to Parse an Arithmetic Expression and Construct a Tree Representation in Java?

Menghuraikan Ungkapan Aritmetik dan Membina Pokok daripadanya di Jawa

Dalam artikel ini, kita akan menyelidiki selok-belok menghurai ungkapan aritmetik dan membina perwakilan pokok dalam Java.

Pengenalan

Sebagai permulaan, kami akan menganggap bahawa ungkapan input dibekalkan sebagai rentetan dan mematuhi dengan peraturan berikut:

  • Nombor negatif mesti disertakan dalam kurungan.
  • Kurungan mesti seimbang secara konsisten.

Membina Pokok

Pada terasnya, membina pokok daripada ungkapan aritmetik melibatkan penggunaan tindanan. Semasa kami menghuraikan aksara ungkapan mengikut aksara, kami menolak pengendali dan nilai berangka ke dalam timbunan. Operator mempunyai keutamaan yang berkaitan, membolehkan kami menilai dan menggabungkan sub-ungkapan semasa kami menghadapinya.

Pendekatan

  1. Mulakan Tindanan: Mulakan dengan timbunan kosong.
  2. Hunting Ungkapan: Lawati setiap aksara dalam rentetan ungkapan.
  3. Kendalikan Tanda Kurung: Jika kurungan ditemui, sama ada menolaknya ke dalam tindanan atau menilai sub-ungkapan dalam kurungan.
  4. Kendalikan Operator: Apabila menemui pengendali, bandingkan keutamaannya dengan "keutamaan tertinggi" semasa dalam timbunan. Jika arus lebih rendah daripada keutamaan pengendali baharu, tolak pengendali baharu ke tindanan. Jika tidak, nilaikan operator pada tindanan sehingga keutamaan operator baharu adalah lebih tinggi atau sama.
  5. Kendalikan Nilai Berangka: Tolak nilai berangka terus ke tindanan.
  6. Nilai Tindanan: Setelah semua aksara diproses, nilaikan operator yang tinggal pada tindanan dari atas ke bawah.

Contoh

Pertimbangkan ungkapan:

(5+2)*7
Salin selepas log masuk
Salin selepas log masuk

Kami akan menghuraikannya seperti berikut:

Character Action Stack
( Push ( (
5 Push 5 (, 5
Push (, 5,
2 Push 2 (, 5, , 2
) Evaluate to 7, push 7 (, 7
* Push * (, 7, *
7 Push 7 7, *, 7

Pokok yang terhasil ialah:

(5+2)*7
Salin selepas log masuk
Salin selepas log masuk

Kesimpulan

Menghuraikan ungkapan aritmetik dan membina pokok ialah operasi asas dalam sains komputer. Artikel ini menyediakan pendekatan langkah demi langkah menggunakan tindanan, menyerlahkan kepentingan peraturan keutamaan dan keseimbangan kurungan. Melaksanakan algoritma ini dalam Java akan membolehkan anda mencipta aplikasi berkuasa yang boleh memproses dan memanipulasi ungkapan aritmetik dengan berkesan.

Atas ialah kandungan terperinci Bagaimana Menghuraikan Ungkapan Aritmetik dan Membina Perwakilan Pokok di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!