从网上找到一份编程练习题,我决定将里面的题目全都做一遍。 |
/*
题目:请使用StringTokenizer类,将字符串按单词拆分,然后逆序输出。
“2008年 奥运会 中国 金牌冠军” --> “金牌冠军 中国 奥运会 2008年”
*/
/*
分析:StringTokenizer这个类没见过,查了下API。
这个类还是比较简单的。
常用方法:
StringTokenizer(String str) -- 为指定字符串构造一个 string tokenizer。Tokenizer使用默认的分隔符集 " \t\n\r\f"
boolean hasMoreTokens() -- 测试此 tokenizer 的字符串中是否还有更多的可用标记。
String nextToken() -- 返回此 string tokenizer 的下一个标记。
看起来和迭代器的使用很像,不过它的用处却不大了。现在都建议使用String的split()方法,或java.util.regex包。
昨天看到了ListIterator接口,正好使用一下。
*/
import java.util.StringTokenizer;
import java.util.ArrayList;
import java.util.ListIterator;
class StringTokenizerDemo {
public static void main(String[] args) {
StringTokenizer st=new StringTokenizer("2008年 奥运会 中国 金牌冠军");
ArrayList<String> lists=new ArrayList<String>();
//分割字符串,Tokenizer使用默认的分隔符集 " \t\n\r\f"。
while(st.hasMoreTokens()){
lists.add(st.nextToken());
}
//ListIterator的特殊遍历List集合的方式
ListIterator<String> it=lists.listIterator();
while(it.hasNext()){
it.next();
}
while(it.hasPrevious()){
System.out.print(it.previous()+" ");
}
System.out.println();
}
}
/*
输出结果:
金牌冠军 中国 奥运会 2008年
*/
|
|