s.charAt()返回的是基本数据类型char
Character是个class。它是把一个基本数据类型char转换成objects中的字符是标点的话不把它压入栈中,我有个笨方法,我主要是为了抛砖引玉
for( int i = 0; i < s.length(); i++ )
{
char c=s.charAt(i);
switch(c)
{
case '?': break;
case ':'break;
.................. //标点
case '>':break;
default:
stack.push( new Character(c) );
break;
}
}
Character是个class。它是把一个基本数据类型char转换成objects中的字符是标点的话不把它压入栈中,我有个笨方法,我主要是为了抛砖引玉
for( int i = 0; i < s.length(); i++ )
{
char c=s.charAt(i);
switch(c)
{
case '?': break;
case ':'break;
.................. //标点
case '>':break;
default:
stack.push( new Character(c) );
break;
}
}
你的异常是什么?
:
java.util.EmptyStackException
at java.util.Stack.peek(Stack.java:79)
at java.util.Stack.pop(Stack.java:61)
at huiwenpanduan.main(huiwenpanduan.java:31)
Exception in thread "main"
检查你调用pop()方法的地方