1、任务简介
本节中我们需要编写一个Java程序,使得它可以查询文本中某一汉字或字符串的出现次数,并且文本和字符串可以由用户指定,我使用原版《西游记》的文本进行此次操作,具体方法如下文所述。
2、基本任务和代码
1)具体思路
(1)首先需要使用InputStreamReader类和BufferedReader类实现文本的读取,由于我使用的《西游记》为utf-8编码,所以还需要指定编码格式为utf-8;
(2)然后需要定义一个空的字符串变量,在对文本逐行读出后将读出的内容追加到该空字符串后;
(3)之后就需要使用到Pattern类和Matcher类进行字符串的匹配操作,其中Pattern类可以创建一个正则表达式,该正则表达式的内容为用户想要查询的字符串;Matcher类可以创建一个匹配器,需要匹配的内容为整个文本;
(4)最后就需要对匹配次数进行统计,这就需要使用matcher.find()方法,每次匹配均会返回一个布尔变量,若成功则为true,配合while循环就可以对出现次数进行统计;
2)任务代码
程序保存为hanzi1.java,代码如下:
import java.io.*;//导入java.io包中的所有类
import java.util.Scanner;//导入java.util包中的Scanner类
import java.util.regex.Matcher;//导入java.util.regex包中的Matcher类
import java.util.regex.Pattern;//导入java.util.regex包中的Pattern类
public class hanzi1 {
//类名
public <