資源簡介
文學(xué)研究人員需要統(tǒng)計(jì)某篇英文小說中某些形容詞的出現(xiàn)次數(shù)和位置。試寫一個(gè)實(shí)現(xiàn)這一目標(biāo)的文字統(tǒng)計(jì)系統(tǒng)?
(1)英文小說存于一個(gè)文本文件中。待統(tǒng)計(jì)的詞匯集合要一次輸入完畢,即統(tǒng)計(jì)工作必須在程序的一次運(yùn)行之后就全部完成。程序的輸出結(jié)果是每個(gè)詞的出現(xiàn)次數(shù)和出現(xiàn)位置所在的行的行號(hào),格式自行設(shè)計(jì)。待統(tǒng)計(jì)的“單詞”在文本串中不跨行出現(xiàn),它或者從行首開始,或者前置以一個(gè)空格符。
(2)模式匹配要基于KMP算法
(3)Java實(shí)現(xiàn)

代碼片段和文件信息
/*
?*?To?change?this?license?header?choose?License?Headers?in?Project?Properties.
?*?To?change?this?template?file?choose?Tools?|?Templates
?*?and?open?the?template?in?the?editor.
?*/
/*
?*?To?change?this?license?header?choose?License?Headers?in?Project?Properties.
?*?To?change?this?template?file?choose?Tools?|?Templates
?*?and?open?the?template?in?the?editor.
?*/
import?java.io.*;
import?java.util.*;
/**
?*
?*?@author?宋佳明
?*/
public?class?wenzitongji?{
????public?static?void?main(String?arg[]){
???????try{
????????wenzitongji?n?=new?wenzitongji();
????????n.ShowMenu();
????????BufferedReader?br=new?BufferedReader(new?InputStreamReader(System.in));
????????String?m?=?br.readLine();
????????int?a?=?Integer.parseInt(m);
????????n.traversal(a);
????}catch(Exception?e){
???????}
????}
????public??String?Fileread(){
????????File?n?=?new?File(“E:\\小明.txt“);
?????try{
????????Reader?in=new?FileReader(n);
????????StringBuffer?a?=?new?StringBuffer();
????????BufferedReader?bf=?new?BufferedReader(in);
????????String?s?=?null;
????????while((s?=?bf.readLine())!=null){
????????????a.append(s.trim());
????????}
????????String??b=?a.toString();
????????char[]?d;?
????????d=b.toCharArray();
????????return?b;
????}catch(Exception?e){
????????System.out.println(“error“+e);
????????return?null;
????}
????}????
????private?int[]?getNext(String?m)?{
????????int?n=m.length();
????????int[]?next?=?new?int[n];
????????next[0]?=?-1;
????????char[]?a?=?m.toCharArray();
????????int?i?=?0?j?=?-1;
????????while?(i?????????????if?(?(j?==?-1)?||?(a[i]?==?a[j])?)?{
????????????????i++;
????????????????j++;
????????????????next[i]?=?j;
????????????}?else?{
????????????????j?=?next[j];
????????????}
????????}
????????return?next;
????}
????public??int?IndexKMP(String?s?String?m?int?next[]){
????int?i?j;
????i=0;j=0;
????char[]a=s.toCharArray();
????char[]b=m.toCharArray();
????int?count?=?0;?
????int??c=0;
????int?l?=?a.length?n?=?b.length;
????while?(i ????{
????????if?(j?==?-1?||?a[i]?==?b[j])
????????{
????????????i++;?j++;
????????}??????????????
????????else?j?=?next[j];
????????if?(j?>=?n)
????????{
????????????count++;
????????????c=(i-j+1)/84+1;
????????????System.out.println(?“單詞“+m+“第“+count+“次出現(xiàn)在“?+c?+?“行,第“?+(i?-?j?+?1)?+“個(gè)字符開始“?);
????????????j?=?0;??
????????}
????}
????System.out.println();
????????return?count;
????}
????public?void?ShowMenu()?{
????System.out.println(?“********************************************“?);
????System.out.println(?“******????????文學(xué)統(tǒng)計(jì)系統(tǒng)???????******“?);
????System.out.println(?“******???????0.安全退出系統(tǒng)??????????******“?);
????System.out.println(?“******???????1.文件讀入小說??????????******“?);
????System.out.println(?“******???????2.讀入小說文本??????????******“?);
????System.out.println(?“******???????3.查詢小說關(guān)鍵字????????******“?);
????System.out.print(??“請選擇:“);
}
????private?void?traversal(int?i)?{
????????String?d;?
???
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-06-30?20:29??文字統(tǒng)計(jì)系統(tǒng)\
?????目錄???????????0??2019-06-30?20:45??文字統(tǒng)計(jì)系統(tǒng)\build\
?????文件????????3639??2019-06-12?11:10??文字統(tǒng)計(jì)系統(tǒng)\build.xm
?????目錄???????????0??2019-07-02?10:05??文字統(tǒng)計(jì)系統(tǒng)\build\classes\
?????文件???????????0??2019-06-30?20:29??文字統(tǒng)計(jì)系統(tǒng)\build\classes\.netbeans_automatic_build
?????文件???????????0??2019-06-30?20:29??文字統(tǒng)計(jì)系統(tǒng)\build\classes\.netbeans_update_resources
?????目錄???????????0??2019-07-01?04:34??文字統(tǒng)計(jì)系統(tǒng)\build\classes\chap5\
?????文件????????4306??2019-07-02?10:05??文字統(tǒng)計(jì)系統(tǒng)\build\classes\wenzitongji.class
?????文件?????????543??2019-06-30?20:43??文字統(tǒng)計(jì)系統(tǒng)\build\宋佳明.txt
?????文件??????????85??2019-06-12?11:10??文字統(tǒng)計(jì)系統(tǒng)\manifest.mf
?????目錄???????????0??2019-06-12?11:10??文字統(tǒng)計(jì)系統(tǒng)\nbproject\
?????文件???????79925??2019-06-12?11:10??文字統(tǒng)計(jì)系統(tǒng)\nbproject\build-impl.xm
?????文件?????????475??2019-06-12?11:10??文字統(tǒng)計(jì)系統(tǒng)\nbproject\genfiles.properties
?????目錄???????????0??2019-06-12?23:52??文字統(tǒng)計(jì)系統(tǒng)\nbproject\private\
?????文件?????????113??2019-06-12?11:10??文字統(tǒng)計(jì)系統(tǒng)\nbproject\private\private.properties
?????文件?????????435??2019-07-02?11:13??文字統(tǒng)計(jì)系統(tǒng)\nbproject\private\private.xm
?????文件????????2468??2019-06-30?20:30??文字統(tǒng)計(jì)系統(tǒng)\nbproject\project.properties
?????文件?????????526??2019-06-12?11:10??文字統(tǒng)計(jì)系統(tǒng)\nbproject\project.xm
?????目錄???????????0??2019-07-01?04:44??文字統(tǒng)計(jì)系統(tǒng)\src\
?????文件????????4018??2019-07-02?10:05??文字統(tǒng)計(jì)系統(tǒng)\src\wenzitongji.java
?????目錄???????????0??2019-06-12?11:11??文字統(tǒng)計(jì)系統(tǒng)\test\
評論
共有 條評論