Rumah > Java > javaTutorial > teks badan

Bagaimana Mengendalikan Tanda Kurung dalam Penukaran Ungkapan Infix to Postfix?

Mary-Kate Olsen
Lepaskan: 2024-11-10 15:12:03
asal
156 orang telah melayarinya

How to Handle Parentheses in Infix to Postfix Expression Conversion?

Mengendalikan Kurungan dalam Penukaran Ungkapan Infix to Postfix

Menukar ungkapan infix kepada ungkapan postfix ialah tugas biasa dalam reka bentuk pengkompil. Mengendalikan kurungan dengan betul adalah penting untuk memastikan penukaran yang tepat.

Soalan anda melibatkan pengendalian kurungan dalam kaedah Java anda, toPostFix. Untuk menyelesaikannya, ikuti langkah berikut:

Apabila menghadapi kurungan terbuka (:

// opening (
if (in_fix.peek().type == 4) {   
    post_fix.push(in_fix.pop());
}
Salin selepas log masuk

Apabila menghadapi kurungan tertutup ):

//closing )
if(in_fix.peek().type == 5){
    while(!(post_fix.isEmpty() || post_fix.peek().type == 4)){
         postfixstr.append(post_fix.pop());
    }
    if (post_fix.isEmpty())
        ; // ERROR - unmatched )
    else
        post_fix.pop(); // pop the (
    in_fix.pop(); // pop the )
} 
Salin selepas log masuk

Proses ini memastikan bahawa :

  • Kurungan kiri ( ditolak ke post_fix tindanan.
  • Apabila kurungan kanan ) ditemui, pengendali dan token bukan kurungan muncul daripada post_fix dan dilampirkan pada postfixstr sehingga kurungan kiri ( ditemui pada post_fix.
  • Kurungan kiri muncul, dan kurungan yang betul muncul dari in_fix untuk memadankan kurungan berpasangan.

Dengan melaksanakan langkah-langkah ini, kaedah toPostFix anda akan mengendalikan berbilang lapisan kurungan dalam ungkapan infix dengan betul.

Atas ialah kandungan terperinci Bagaimana Mengendalikan Tanda Kurung dalam Penukaran Ungkapan Infix to Postfix?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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