早教吧作业答案频道 -->其他-->
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括号配对问题(要用栈...的网友还看了以下:
有一道一元一次方程的应用题,要求用方程解!某果品公司急需将一批不易存放的水果从A市运到B市销售,现 2020-05-13 …
求这样一个n位数(>0),它等于其各位数字的阶乘之和.输入位数n,输出所有满足条件的n位数例如,1 2020-06-07 …
烷烃命名时2号位为什么不能有乙基烷烃命名时一号位不能有甲基,这个我明白原因,但2号为不能有乙基,3 2020-06-16 …
羽毛球裁判考试相关题目,求帮忙给答案吧,最好有解答45人参加单淘汰赛,一号种子应进号位,二号种子应 2020-06-28 …
环剥后有机物怎么会向上运输呢?书上说:“环剥后有机物无法向下运输,转而向上运输给果实.”怎么会这样 2020-07-14 …
补码运算溢出判断的原理补码运算溢出时可以通过最高位与次高位进位来判断:若最高数值位向符号位的进位值与 2020-11-21 …
汽车是我们熟悉的交通运输工具,一些运输单位为了降低运营成本肆意超载,造成路面损坏.某种型号运输车的部 2020-12-03 …
汽车是我们熟悉的交通运输工具,一些运输单位为了降低运营成本肆意超载,造成路面损坏.某种型号运输车的部 2020-12-06 …
汽车是我们熟悉的交通运输工具,一些运输单位为了降低运营成本肆意超载,造成路面损坏.某种型号运输车的部 2020-12-06 …
(2014•邗江区一模)汽车是我们熟悉的交通运输工具,一些运输单位为了降低运营成本肆意超载,造成路面 2020-12-06 …