【发布时间】:2013-12-12 01:17:06
【问题描述】:
我下面的代码会出现编译错误:'.class' expected:
Stack<Character> stack=new Stack<Character>();
char pop=stack.pop();
但是如果我改成这个,编译成功:
char pop;
Stack<Character> stack=new Stack<Character>();
pop=stack.pop();
什么原因?
完整代码在这里:
public class Solution {
public boolean isValid(String s) {
//char pop;
if(s==null||s.length()==0)return true;
Stack<Character> stack=new Stack<Character>();
stack.push(s.charAt(0));
for(int i=1;i<s.length();i++){
char c=s.charAt(i);
if(c=='('||c=='['||c=='{')
stack.push(c);
else{
if(!stack.isEmpty())
char pop=stack.pop();
else
return false;
if(c==')'&&pop!='(') return false;
else if(c==']'&&pop!='[') return false;
else if(c=='}'&&pop!='{') return false;
}
}
return stack.isEmpty();
}
}
【问题讨论】:
-
那是你的完整代码吗?在它之前/之后是否有任何可能触发
.class预期的内容? -
哪一行触发了错误?
-
这本身不会导致您描述的错误。
-
我无法重现您的错误。你能发布完整但简短的代码,让我们重现它吗?
-
它的工作..没有编译错误。
标签: java variables loops scope global-variables