我陷入了一种情况,我必须使用 StringTokenzier 从一串行中制作成对的单词。但我不确定该类如何为我提供该功能。
示例:输入:“USA UK USSR China”
输出:“USA UK”“UK USSR”“USSR China”
StringTokenizer 只有 hasMoreElements() 和 hasMoreTokens(),我们如何迭代它来实现所需的输出?
我陷入了一种情况,我必须使用 StringTokenzier 从一串行中制作成对的单词。但我不确定该类如何为我提供该功能。
示例:输入:“USA UK USSR China”
输出:“USA UK”“UK USSR”“USSR China”
StringTokenizer 只有 hasMoreElements() 和 hasMoreTokens(),我们如何迭代它来实现所需的输出?
只需存储以前的,你就完成了:
String previous = tokenizer.nextToken();
while (tokenizer.hasMoreElements()) {
String current = tokenizer.nextToken();
String correctValue = previous + " " + current;
previous = current;
}
你看过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;
}