0

我有一个 stringtoList ArrayList 需要从 StreamTokenizer 返回令牌,但 s.sval 没有在运行时编译,谁能帮我解决这个问题:

private List<Token> stringToList(final String string) {
  // TODO your job
  // follow Main.main but put the tokens into a suitable list

  ArrayList<Token> al = new ArrayList<Token>(); 

  String word = "";

  String in = string;
  StreamTokenizer s = new StreamTokenizer(new StringReader(in));

  int token;
  while ((token = s.nextToken()) != StreamTokenizer.TT_EOF) {
   if (token == StreamTokenizer.TT_WORD) {
    DefaultToken t = (s.sval, s.lineno()); //problem here, not reading the sval from the StreamTokenizer!!!
    al.add(t);
  }
  return al;
  }
 }

非常感激任何的帮助

4

2 回答 2

2

怎么样:

String txt = "The quick brown fox jumps over the lazy dog";
String[] arr = txt.split("\\W");
List<String> list = Arrays.asList(arr);

应该在 Java 1.5+ 上工作

于 2010-03-25T21:38:05.347 回答
1

以下不是有效的 Java 语法:

DefaultToken t = (s.sval, s.lineno());

如果不知道 DefaultToken 类看起来像什么,我将很难提供帮助,但也许你的意思是这样的?

DefaultToken t = new DefaultToken(s.sval, s.lineno());
于 2010-03-25T21:58:12.277 回答