检查匹配括号的java字符堆栈没有错误,但也没有任何作用
我花了半年的时间停止编程,现在我正在用超基本的面试问题来刷新我的记忆。。。第一次我被困了两天。。下面是我的代码,有人能告诉我为什么程序没有显示错误,但编译后什么也不做吗?它应该忽略文本字符,但我甚至还没有
public class bracketCheck {
public static void main(String[] args) {
Stack <Character> s = new <Character> Stack();
Scanner input = new Scanner(System.in);
String buff;
System.out.println("please enter brackets & text");
buff = input.nextLine();
input.close();
int count = 0;
boolean cont = true;
Character stackTop;
Character current = buff.charAt(count);
do {
if(current == ')' || current== '}' || current== ']') {
s.push(current);
count++;
}
else if(current== '(' || current== '{' || current== '[') {
stackTop = s.pop();
cont = match(stackTop, current);
}
}
while(s.isEmpty() == false /*&& cont =true*/);
if(s.isEmpty())
System.out.println("bout time......");
}
private static boolean match(Character top , Character not) {
if(top == ')' && not == '(')
return true;
else if(top == ']' && not == '[')
return true;
else if(top == '}' && not == '{')
return true;
else
return false;
}
}
# 1 楼答案
我在你的代码中看到了一些问题,这是我的固定版本