1 import java.lang.String;
 2 import java.util.StringTokenizer;
 3 public class StringGetWord{
 4     /*
 5     编程提取字符串"Java is a programming language"中的各个单词,并打印输出。
 6     */
 7            public static void main(String[] args){
 8                  String str="Java is a programming language";
 9                      String a[]=GetWord1(str);
10                          
11                          for(int i=0;i<a.length;i++){
12                              System.out.println("第"+i+"个单词"+a[i]);
13                          }                   
14                          
15                           GetWord2(str);  
16                  }    
17                  
18                public static String[] GetWord1(String str){                           
19                      int num=0;int index=0;//num表示单词数,index表示空格的索引位置
20                 do{
21                     ++num;//至少有一个单词
22                     ++index;//至少有一个空格
23                     index=str.indexOf(' ',index);//搜索空格的索引位置
24                     }while(index!=-1);//若没有空格则结束循环
25                 
26                     int end=0;
27                     String strArray[] = new String[num];
28                     index=0;
29                     for(int i=0;i<num;i++){
30                          end = str.indexOf(' ',index);
31                          if(end==-1){
32                              strArray[i]=str.substring(index);
33                         }else{
34                                 strArray[i]=str.substring(index,end);//注意 substring(int beginIndex, int endIndex)  返回一个新字符串,它是此字符串的一个子字符串。beginIndex - 起始索引(包括)。从0开始 endIndex - 结束索引(不包括)。
35                             }
36                             
37                             index=end+1;
38                         }
39                         
40                         return strArray;
41                                 
42                }
43 
44                               //使用StringTokenizer                                     
45                           public static void GetWord2(String str){      
46                               System.out.println("演示 StringTokenizer获得字符串中的单词:");             
47                                       StringTokenizer st =  new StringTokenizer(str);       
48                                  while(st.hasMoreTokens()){                              
49                                         System.out.println(st.nextToken());               
50                                      }                                                   
51                                                                               
52               }     
53               
54     }                                                            
55 
56 
57 
58 /*
59 执行结果为:
60 第0个单词Java                           
61 第1个单词is                             
62 第2个单词a                              
63 第3个单词programming                    
64 第4个单词language                       
65 演示 StringTokenizer获得字符串中的单词:
66 Java                                    
67 is                                      
68 a                                       
69 programming                             
70 language             
71 */                   

 

posted on 2014-01-23 15:51  sophine  阅读(5761)  评论(1编辑  收藏  举报