加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

教你用JAVA统计一段英语短文中单词的个数,并且输出每一个单词

(2013-06-07 12:17:01)
标签:

java

分离字符串

统计单词个数

it


一、用字符串String类
   众所周知,java的String类是一个很强类,封装了很多字符串的处理方式,为我们的字符串处理提供了极大的便捷今天我们就来小小领略一下String的魅力:
我们先看题目:编写Java程序要分析出下列两个字符串中有多少个单词,并且依次输出:
I am Geng.X.y,she is my girlfriend.Lowood?what is that?

public class WordCounts {
   public static void main(String args[]) {
       String str = "I am Geng.X.y,she is my girlfriend.Lowood?what is that?";
       String newStr;
       char c = str.charAt(str.length()-1);
       if(!((c>=65&&c<=90)||(c>=97&&c<=125))){
             newStr=str.substring(0,str.length()-1);
             count(newStr);
       }else{
          count(str);   
       }
   }
   public static void count(String str){
             int count=0;
             String string =str;
          String s[] = string.split(" |,|\\?|\\.");//split()里面是正则表达式
          for(int i=0;i
               System.out.println(s[i]);
               count++;//计数变量
         
         System.out.println("这段话共有"+count+"单词");
           
}
输出的结果是:

http://s2/mw690/a22b0158gde88eaa882b1&690

二、其实我们还有更简单的方式,我们可以用Scanner类,Scanner类是一个扫描器,它可以扫描根据我们的要求字符串,达到们想要的结果,请看代码:
import java.util.*;
public class WordNum {
    public static void main(String [] args) {
            int count = 0;
            String sentence ="I am Geng.X.y,she is my girlfriend.Lowood?what is that?";
            Scanner s = new Scanner(sentence).useDelimiter(" |,|\\?|\\.");
            while(s.hasNext()){
                count++;   
                System.out.println(s.next());
            }
            System.out.println("这段短文单词的个数是:"+count);
     
   
}
结果如下:

http://s6/mw690/a22b0158gde890850a575&690

短短几行代码便有如此的效果,Scanner类不可谓不强大啊!好了,今天分享就到这了,为了java,我们一起努力~

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有