0

StreamTokenizer からトークンを返す必要がある stringtoList ArrayList がありますが、実行時に 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 に答える