1 import java.util.StringTokenizer;
2 /*
3 (1)整理字符串,将字符串的前导和后随空白符删去
4 (2)并将字符串中非空白字符之间的连续的多个空白符只保留一个,去掉多余的。
5 */
6 class Ex_4_12
7 {
8 public static void main(String[] args)
9 {
10 String str = " abc def ghi mnopq r s ";
11 StringTokenizer pas = new StringTokenizer(str," ");
12
13 str=""; //这里清空了str,但StringTokenizer对象中已经保留了原来字符串的内容。
14
15 while (pas.hasMoreTokens())
16 {
17 String s = pas.nextToken();
18 str = str+s+" ";
19 }
20 System.out.println("["+str.trim()+"]");
21 }
22 }
23
24 /*
25 算法思路:
26 -使用java.util.StringTokenizer类提供的方法hasMoreTokens()、nextToken()。
27 -初始化StringTokenizer对象时,使用的分隔符为" "。
28 -hasMoreTokens()控制循环,只要字符串中还有语言分隔符号,该方法就返回true。
29 -nextToken()取下一个非语言分隔符的字符串,字符串以分隔符进行截断。
30 -使用String类的trim()方法去除前导和后随空格。
31 */