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 */