• I/O流之FileWriter【西游记】


    需求:

    1)在《西游记》这本小说中,读取内容,统计某个词(任意词)出现的次数。
    2)统计这本书一共有多少章(回)
    3)统计这本书中一共有多少句子(带标点就算一句)


    代码:

      1 package 课后练习;
      2 
      3 import java.io.BufferedReader;
      4 import java.io.File;
      5 import java.io.FileNotFoundException;
      6 import java.io.FileReader;
      7 import java.io.IOException;
      8 
      9 /**
     10  * 功能: 
     11  * 1)在《西游记》这本小说中,读取内容,统计某个词(任意词)出现的次数。
     12  * 2)统计这本书一共有多少章(回)
     13  * 3)统计这本书中一共有多少句子(带标点就算一句)
     14  * @author Administrator
     15  */
     16 public class XiYouJi {
     17 
     18 
     19     /**功能: 
     20      * @param args
     21      */
     22     public static void main(String[] args) {
     23         
     24         int countWord = getWordCount("三藏");
     25         System.out.println("三藏出现的次数:"+countWord);
     26         
     27         int countChapter = getChapter();
     28         System.out.println("西游记总共有:"+countChapter+"个章节");
     29         
     30         int countSentance = getSentanceCount();
     31         System.out.println("西游记总共有:"+countSentance+"个句子");
     32     }
     33     
     34     /**
     35      * 功能: 3)统计这本书中一共有多少句子(带标点就算一句)
     36      * @return
     37      */
     38     private static int getSentanceCount() {
     39         BufferedReader br = null;
     40         int num = 0;
     41         try {
     42             br = new BufferedReader(new FileReader(new File("E:/JavaSECode/7月/Me/day16/src/课后练习/西游记.txt")));
     43             String readLine =null;
     44             while ((readLine = br.readLine()) != null) {
     45                 num += readLine.split("").length-1;
     46                 if (readLine.contains("")) {
     47                     num++;
     48                 }
     49                 if (readLine.contains("")) {
     50                     num++;
     51                 }
     52             }
     53         } catch (IOException e) {
     54             e.printStackTrace();
     55         }
     56         return num;
     57     }
     58     
     59     /**
     60      * 功能: 统计这本书一共有多少章(回)
     61      * @return
     62      */
     63     private static int getChapter() {
     64         BufferedReader br = null;
     65         int num = 0;
     66         try {
     67             br = new BufferedReader(new FileReader(new File("E:/JavaSECode/7月/Me/day16/src/课后练习/西游记.txt")));
     68             String readLine = null;
     69             while ((readLine = br.readLine()) != null) {
     70                 if (readLine.startsWith("") && readLine.endsWith("") && (readLine.length() < 6)) {
     71                     num++;
     72                 }
     73             }
     74         } catch (IOException e) {
     75             e.printStackTrace();
     76         }
     77         return num;
     78     }
     79 
     80     /**
     81      * 功能: 1)在《西游记》这本小说中,读取内容,统计某个词(任意词)出现的次数。
     82      * @param word
     83      * @return
     84      */
     85     private static int getWordCount(String word) {
     86         int count = 0;
     87         BufferedReader br = null;
     88         try {
     89             br = new BufferedReader(new FileReader(new File("E:/JavaSECode/7月/Me/day16/src/课后练习/西游记.txt")));
     90             String str = null;
     91             while ((str = br.readLine()) != null) {
     92                 count += str.split(word).length-1;
     93                 if (str.endsWith(word)) {
     94                     count++;
     95                 }
     96             }
     97         } catch (IOException e) {
     98             e.printStackTrace();
     99         } finally {
    100             if (br != null) {
    101                 try {
    102                     br.close();
    103                 } catch (IOException e) {
    104                     e.printStackTrace();
    105                 }
    106             }
    107         }
    108         return count;
    109     }
    110 
    111 }

    运行结果:

  • 相关阅读:
    iOS动画(一)coreAnimation 教程(转)
    sdwebimage基本用法及原理
    iOS推送
    Objective-C中的Block
    loadView、viewDidLoad、initWithCoder、initWithNibName、awakeFromNib的调用时间及用法
    提纲挈领-我的博客内容架构(持续更新)
    读过的书籍及思考系列 (详细列表)-持续更新
    看过的影视及思考系列(详细列表)-持续更新
    自学笔记系列:《Python学习手册 第五版》 -写在开始之前
    《Python网络爬虫权威指南 第二版》 -第1章 软件及BeautifulSoup库准备
  • 原文地址:https://www.cnblogs.com/snow1234/p/7204882.html
Copyright © 2020-2023  润新知