我下面的代码会得到一个编译错误:' 的.class'预期:的Java '的.class'预期的错误
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'的任何内容? –
哪一行触发错误? – Paranaix
这本身并不会导致您描述的错误。 – Izmaki