资源简介
文学研究人员需要统计某篇英文小说中某些形容词的出现次数和位置。试写一个实现这一目标的文字统计系统
(1)英文小说存于一个文本文件中。待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后就全部完成。程序的输出结果是每个词的出现次数和出现位置所在的行的行号,格式自行设计。待统计的“单词”在文本串中不跨行出现,它或者从行首开始,或者前置以一个空格符。
(2)模式匹配要基于KMP算法
(3)Java实现
代码片段和文件信息
/*
* 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 < n-1) {
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+“次出现在“ +c + “行,第“ +(i - j + 1) +“个字符开始“ );
j = 0;
}
}
System.out.println();
return count;
}
public void ShowMenu() {
System.out.println( “********************************************“ );
System.out.println( “****** 文学统计系统 ******“ );
System.out.println( “****** 0.安全退出系统 ******“ );
System.out.println( “****** 1.文件读入小说 ******“ );
System.out.println( “****** 2.读入小说文本 ******“ );
System.out.println( “****** 3.查询小说关键字 ******“ );
System.out.print( “请选择:“);
}
private void traversal(int i) {
String d;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-06-30 20:29 文字统计系统\
目录 0 2019-06-30 20:45 文字统计系统\build\
文件 3639 2019-06-12 11:10 文字统计系统\build.xm
目录 0 2019-07-02 10:05 文字统计系统\build\classes\
文件 0 2019-06-30 20:29 文字统计系统\build\classes\.netbeans_automatic_build
文件 0 2019-06-30 20:29 文字统计系统\build\classes\.netbeans_update_resources
目录 0 2019-07-01 04:34 文字统计系统\build\classes\chap5\
文件 4306 2019-07-02 10:05 文字统计系统\build\classes\wenzitongji.class
文件 543 2019-06-30 20:43 文字统计系统\build\宋佳明.txt
文件 85 2019-06-12 11:10 文字统计系统\manifest.mf
目录 0 2019-06-12 11:10 文字统计系统\nbproject\
文件 79925 2019-06-12 11:10 文字统计系统\nbproject\build-impl.xm
文件 475 2019-06-12 11:10 文字统计系统\nbproject\genfiles.properties
目录 0 2019-06-12 23:52 文字统计系统\nbproject\private\
文件 113 2019-06-12 11:10 文字统计系统\nbproject\private\private.properties
文件 435 2019-07-02 11:13 文字统计系统\nbproject\private\private.xm
文件 2468 2019-06-30 20:30 文字统计系统\nbproject\project.properties
文件 526 2019-06-12 11:10 文字统计系统\nbproject\project.xm
目录 0 2019-07-01 04:44 文字统计系统\src\
文件 4018 2019-07-02 10:05 文字统计系统\src\wenzitongji.java
目录 0 2019-06-12 11:11 文字统计系统\test\
相关资源
- Java实验一.docx
- zw_huangyx123456-10303904-基于Java的迷宫程
- 工资管理系统.zip
- 基于java-web的超市管理系统毕业答辩
- JAVA介绍外文翻译
- 汪文君java高并发及java8新特性全套教
- 学生管理系统Javaweb mysql
- 基于Java网络聊天室
- 1. 编写一个 Java 程序 在程序中建立一
- java+SQlserver煤气公司管理系统
- java 学生成绩管理系统 课设论文
- Java课程设计报告-酒店客房管理系统
- 坦克大战Java+实训报告
- java鼠标瞄准炮台打鸟游戏
- zw_mysql-connector-java-5.1.7-bin.zip
- Java计算器130031
- 用JavaSE编写的购物系统
- 学生成绩管理系统java.zip
- 图书管理系统源代码(java实现.docx
- 2019年Java题库学生版.pdf
- Java五子棋联机版windowbuilder界面
- Java学生管理系统完整代码
- 银行账户管理系统 Bank ATM System JAVA
- 很简易的java爬虫 可以爬取携程的航班
- Java实现的生产者与消费者问题
- 简易java聊天室ui界面
- java写的c语言编译器
- Java计算器实现代码
- Java程序开发-井字棋控制台界面
- 数据库课设-宿舍管理系统java.rar
评论
共有 条评论