1

我陷入了一种情况,我必须使用 StringTokenzier 从一串行中制作成对的单词。但我不确定该类如何为我提供该功能。

示例:输入:“USA UK USSR China”
输出:“USA UK”“UK USSR”“USSR China”

StringTokenizer 只有 hasMoreElements() 和 hasMoreTokens(),我们如何迭代它来实现所需的输出?

4

2 回答 2

2

只需存储以前的,你就完成了:

String previous = tokenizer.nextToken();
while (tokenizer.hasMoreElements()) {
  String current = tokenizer.nextToken();
  String correctValue = previous + " " + current;

  previous = current;
}
于 2012-10-02T01:39:48.463 回答
0

你看过StringTokenizer 的 Javadoc吗?它也有例子。你试过什么了?

标记器用于根据预定标记拆分字符串。在您的情况下,您的令牌是一个空格(默认值)。

 StringTokenizer st = new StringTokenizer("this is a test", " ");
 String prevToken = st.hasMoreTokens() ? st.nextToken() : "";
 while (st.hasMoreTokens()) {
     String currToekn = st.nextToken();
     System.out.println(prevToken + " " + nextToken );
     prevToken = currToken;
 }
于 2012-10-02T01:45:25.050 回答