當前位置:成語大全網 - 書法字典 - 在Java中,設計了壹種算法來判斷算術表達式中的括號是否成對。

在Java中,設計了壹種算法來判斷算術表達式中的括號是否成對。

算法:

String str="5+(4-3))"表達式

char kuo Hao[];用作支架堆疊

掃描字符串中的字符

1如果是(那麽堆棧。

2如果是)

a若戰非空,出棧

b如果棧為空,則不匹配。算法結束

最後壹個堆棧是空的,並且匹配。

下面是我的實現。

公共類標記{

公共靜態void main(String args[])

{

int top = 0;//堆指針

布爾end = true//不匹配只輸出壹次。

char stack[]= new char[100];//保存括號

string biaoda = "(((1+(2)-6))";//表達式

char Biao[]= biaoda . tochararray();//將字符串轉換為字符數組

System.out.println("表達式:"+biaoda);

for(int I = 0;我& lt表.長度和長度。& amp結束;I++)//遍歷表達式中的所有字符。

{

If(Biao[I]= '(')//如果是(則放入堆棧。

{

stack[top]= '(';

top++;

}

Else if(biao[i]==')')//如果是,播放。

{

如果(!(top==0))

top-;

其他

{

System.out.println("括號不匹配");

end = false

}

}

}//除了循環,還有兩種可能

if(top = = 0 & amp;& amp結束)

System.out.println("括號匹配");//循環外堆棧為空

else if(頂!= 0 & amp& amp結束)

System.out.println("括號不匹配");//退出循環時堆棧不為空。

}

}