早教吧作业答案频道 -->其他-->
JAVA括号配对问题(要用栈来解决)要求输入一行字符,输出配对的括号和不配对的括号的位置例如:输入: (a+b))( 输出: 左边第1位括号和左边第5位括号对应,左边第6位括号没对应左
题目详情
JAVA括号配对问题(要用栈来解决)
要求输入一行字符,输出配对的括号和不配对的括号的位置
例如:输入: (a+b))(
输出: 左边第1位括号和左边第5位括号对应,左边第6位括号没对应左括号,左边第7位没对应右括号.
求各位大虾帮忙写出完整JAVA程序代码(相信不难),本人有赏
括号配对问题
要求输入一行字符,输出配对的括号和不配对的括号的位置
例如:输入: (a+b))(
输出: 左边第1位括号和左边第5位括号对应,左边第6位括号没对应左括号,左边第7位没对应右括号.
求各位大虾帮忙写出完整JAVA程序代码(相信不难),本人有赏
括号配对问题
▼优质解答
答案和解析
import java.util.Stack;
/**
* 要求输入一行字符,输出配对的括号和不配对的括号的位置
* 例如:
* 输入: (a+b))(
* 输出: 左边第1位括号和左边第5位括号对应,左边第6位括号没对应左括号,左边第7位没对应右括号.
*/
public class BaiduHelper {
public static void floatCloud(String toDeal){
Stack stack = new Stack();
stack.add(0);
for(int i=0; i char c = toDeal.charAt(i);
if(c=='('){
stack.add(i+1);
}else if(c==')'){
int index = stack.pop();
if(index>0){
System.out.println("左边第"+index+"位括号和左边第"+(i+1)+"位括号对应");
}else if(index==0){
System.out.println("左边第"+(i+1)+"位括号没对应左括号");
stack.add(0);
}
}
}
if(stack!=null){
while(!stack.isEmpty()){
int index = stack.pop();
if(index!=0)
System.out.println("左边第"+index+"位括号没对应右括号");
}
}
}
public static void main(String[] args){
floatCloud("(a+b))(");
System.out.println();
floatCloud("(a+(b))))(");
System.out.println();
floatCloud("(a+b))())(");
System.out.println();
}
}
/**
* 要求输入一行字符,输出配对的括号和不配对的括号的位置
* 例如:
* 输入: (a+b))(
* 输出: 左边第1位括号和左边第5位括号对应,左边第6位括号没对应左括号,左边第7位没对应右括号.
*/
public class BaiduHelper {
public static void floatCloud(String toDeal){
Stack
stack.add(0);
for(int i=0; i
if(c=='('){
stack.add(i+1);
}else if(c==')'){
int index = stack.pop();
if(index>0){
System.out.println("左边第"+index+"位括号和左边第"+(i+1)+"位括号对应");
}else if(index==0){
System.out.println("左边第"+(i+1)+"位括号没对应左括号");
stack.add(0);
}
}
}
if(stack!=null){
while(!stack.isEmpty()){
int index = stack.pop();
if(index!=0)
System.out.println("左边第"+index+"位括号没对应右括号");
}
}
}
public static void main(String[] args){
floatCloud("(a+b))(");
System.out.println();
floatCloud("(a+(b))))(");
System.out.println();
floatCloud("(a+b))())(");
System.out.println();
}
}
看了 JAVA括号配对问题(要用栈...的网友还看了以下:
求宾语前置讲解.语文老师让我讲解宾语前置句..要宾语前置类型至少5个每个例句的分析. 2020-06-24 …
先阅读理解下面的例题,再按要求解答:例题:解一元二次不等式x2-9>0解:∵x2-9=(x+3)( 2020-06-27 …
先阅读理解下面的例题,再按要求解答:例题:解一元二次不等式,解:∵,∴,由有理数的乘法法则“两数相 2020-07-30 …
先阅读理解下面的例题,再按要求解答:例题:解不等式(x+3(x-3)>0.由有理数的乘法法则“两数 2020-07-30 …
先阅读理解下面的例题,再按要求解答例题:解不等式(X+3)(X-3)>0解因为(X+3)(X-3) 2020-07-30 …
正比例函数与反比例函数的比例系数互为倒数,且反比例函数过点(根号2,-4分之根号2),求正比例函数 2020-08-02 …
求反比例函数解析式反比例函数y=k/x的图像上有一点P(m,n),m,n是关于t的一元二次方程t的 2020-08-02 …
关于图例和注记的解释,正确的是()A.图例是用来表示各地理事物的文字和数字B.注记是用来说明地理事物 2020-11-08 …
关于图例和注记的解释,正确的是()A.图例是用来表示各地理事物的文字和数字B.注记是用来说明地理事物 2020-11-28 …
有机化学环状化合物命名问题带侧链的环烯烃命名时,碳原子编号顺序除双键所在位置号码最小外,还要同时以侧 2020-12-06 …