我试过了一切正常.
package myapp;/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/
import java.util.Stack;
public class Untitled1 { public Untitled1() {
}
public static void main(String[] args) {
Untitled1 untitled11 = new Untitled1();
String s="sal;djfkl.,,";
Stack stack=new Stack();
for( int i = 0; i < s.length(); i++ )
{
char c=s.charAt(i);
switch(c)
{
case '?':break;
case ':':break;
case ' ':break;
case ',':break;
default:
stack.push( new Character(c) );
break;
}
}
}
}
package myapp;/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/
import java.util.Stack;
public class Untitled1 { public Untitled1() {
}
public static void main(String[] args) {
Untitled1 untitled11 = new Untitled1();
String s="sal;djfkl.,,";
Stack stack=new Stack();
for( int i = 0; i < s.length(); i++ )
{
char c=s.charAt(i);
switch(c)
{
case '?':break;
case ':':break;
case ' ':break;
case ',':break;
default:
stack.push( new Character(c) );
break;
}
}
}
}
结合你的帖子http://expert.csdn.net/Expert/topic/1841/1841818.xml?temp=.3774988
我猜你是在出栈的时候.用了类似于:
for(int i = 0;i< s.length(); i++){
stack.pop();
}
的办法了.标点符号没有进栈,做了s.length()次出栈,当然有错了.
好像楼主的这段代码我也有份阿!呵呵!
单看这段代码不觉得哪里有错阿