java识别一篇文章中某单词出现个数的方法

 更新时间:2015年10月12日 12:34:55   作者:张庚  
这篇文章主要介绍了java识别一篇文章中某单词出现个数的方法,涉及java字符解析操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

Java技术迷

本文实例讲述了java识别一篇文章中某单词出现个数的方法。分享给大家供大家参考。具体如下:

1. java代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Select {
  public static void main(String[] args) {
    int num = 0;
    //定义:字节读取流
    FileInputStream fis;
    try {
      //此处的路径需要根据具体情况来进行修改
      fis = new FileInputStream("H:\\TankWar1.9\\src\\Tank.java");
      DataInputStream dis = new DataInputStream(fis);
      String line = null;
      while ((line = dis.readLine()) != null) {
        //创建字符解析器
         StringTokenizer st=new StringTokenizer(line,"!&(){}+-= ':;<> /");
         while(st.hasMoreTokens()) {
           String string=st.nextToken();
           if(string.equals("if")) { num++; } }
        ;
      }
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
    System.out.println(num);
  }
}

2. Select.java:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Select {
  public static void main(String[] args) {
    int num = 0;
    //定义:字节读取流
    FileInputStream fis;
    try {
      fis = new FileInputStream("H:\\TankWar1.9\\src\\Tank.java");
      DataInputStream dis = new DataInputStream(fis);
      String line = null;
      while ((line = dis.readLine()) != null) {
        //创建字符解析类
         StringTokenizer st=new StringTokenizer(line,"!&(){}+-= ':;<> /");
         while(st.hasMoreTokens()) {
           String string=st.nextToken();
           if(string.equals("if")) { num++; } }
        ;
      }
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
    System.out.println(num);
  }
}

3. StringTokenizerDemo.java:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import java.util.*;
public class StringTokenizerDemo
{
  public static void main(String[] args)
  {
      String str1 = "Hello world!This is Java code,stringTokenizer Demo.";
      //声明并初始化字符串str1
      String str2 = "How to use StringTokenizer?StringTokenizer?";
      //声明并初始化字符串str2
      StringTokenizer strT1 = new StringTokenizer(str1," ,.!");
      //创建StringTokenizer类的对象strT1,并构造字符串str1的分析器
      //以空格符、","、"."及"!"作为定界符
      StringTokenizer strT2 = new StringTokenizer(str2," ?");
      //创建StringTokenizer类的对象strT2,并构造字符串str2的分析器
      //以空格符及"?"作为定界符
      int num1 = strT1.countTokens();
      //获取字符串str1中语言符号的个数
      int num2 = strT2.countTokens();
      //获取字符串str2中语言符号的个数
      System.out.println("str1 has "+num1+" words.They are:");
      while(strT1.hasMoreTokens())
      //利用循环来获取字符串str1中下一个语言符号,并输出
          String str = strT1.nextToken();
          System.out.print("\""+str+"\" ");
      }
      System.out.println("\nstr2 has "+num2+" words.They are:");
      while(strT2.hasMoreTokens())
      //利用循环来获取字符串str2中下一个语言符号,并输出
          String str = strT2.nextToken();
          System.out.print("\""+str+"\" ");
      }
  }
}

希望本文所述对大家的java程序设计有所帮助。

蓄力AI

微信公众号搜索 “ 脚本之家 ” ,选择关注

程序猿的那些事、送书等活动等着你

相关文章

  • JAVA中List.addAll的基本语法与用法详解

    JAVA中List.addAll的基本语法与用法详解

    这篇文章主要给大家介绍了关于JAVA中List.addAll的基本语法与用法的相关资料,需要的朋友可以参考下
    2024-06-06
  • Java继承的问题引导和测试代码

    Java继承的问题引导和测试代码

    这篇文章主要介绍了Java继承的问题引导和测试代码,涉及继承的概念,合成的语法等相关内容,具有一定借鉴价值,需要的朋友可以参考下。
    2021-08-08
  • Spring中实现策略模式的几种方式小结

    Spring中实现策略模式的几种方式小结

    在写业务代码的时候,难免会遇到很多if-else,这个时候如果if-else不是很多可以用if-else,如果此时场景过多,太多的if-else会导致代码比较臃肿,这个时候策略模式就出现了,本文主要阐述工作中常用的实现策略模式的几种方式,需要的朋友可以参考下
    2024-05-05
  • Docker和 Containerd 的区别解析

    Docker和 Containerd 的区别解析

    containerd 是一个来自 Docker 的高级容器运行时,并实现了 CRI 规范,它是从 Docker 项目中分离出来,之后 containerd 被捐赠给云原生计算基金会(CNCF)为容器社区提供创建新容器解决方案的基础,这篇文章主要介绍了Docker和 Containerd 的区别,需要的朋友可以参考下
    2024-03-03
  • 浅谈SpringBoot项目如何让前端开发提高效率(小技巧)

    浅谈SpringBoot项目如何让前端开发提高效率(小技巧)

    这篇文章主要介绍了浅谈SpringBoot项目如何让前端开发提高效率(小技巧),主要介绍了Swagger和Nginx提高效率的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • Spring实现处理跨域请求代码详解

    Spring实现处理跨域请求代码详解

    这篇文章主要介绍了Spring实现处理跨域请求代码详解,具有一定借鉴价值,需要的朋友可以了解下。
    2017-12-12
  • springboot的java配置方式(实例讲解)

    springboot的java配置方式(实例讲解)

    下面小编就为大家分享一篇实例讲解springboot的java配置方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • 关于SpringBoot启动速度慢的原因总结

    关于SpringBoot启动速度慢的原因总结

    这篇文章主要介绍了关于SpringBoot启动速度慢的原因总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • java反射总结实例详解

    java反射总结实例详解

    这篇文章主要结合实例形式分析了介绍了java基于反射得到对象属性值的方法,Class类,基本数据类型,类的反射等,需要的朋友可以参考下
    2017-04-04
  • Java socket通信模拟QQ实现多人聊天室

    Java socket通信模拟QQ实现多人聊天室

    Socket在Java实战网络通信编程应用中有非常重要的作用,你想要跟别人联系都得通过socket占据端口来实现,掌握Socket技术不仅在聊天应用程序中需要用到(比如QQ什么的都都是用socket来写的),而且对于学习 Asp.net 也非常有帮助
    2022-07-07

最新评论