用java实现文学研究助手_文学研究助手 请大神用 纯 C + + 或者 纯 Java 来写,注释可以多点,跪谢!好的话再加100分!!!...

展开全部

给你代码,只是做了一下简单的测试,如果有问636f707962616964757a686964616f31333332623262题,回复有问题,我在下边看到你的邮件了,

有问题与你邮件联系。import java.io.BufferedReader;

import java.io.FileReader;

import java.io.FileWriter;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

public class App {

private static String ENTER = "\r\n";

public static void main(String[] args) {

try {

new App().execute();

} catch (Exception e) {

}

}

public void execute() throws Exception {

// 读入待统计的词汇集合,认为make.txt文件中一行是一个词

FileReader fr = new FileReader("make.txt");

BufferedReader br = new BufferedReader(fr);

Map map = new HashMap();

while (br.ready()) {

map.put(br.readLine(), new Info());

}

br.close();

fr.close();

// 需要统计的英文小说

fr = new FileReader("src.txt");

br = new BufferedReader(fr);

int lineno = 1;

while (br.ready()) {

String line = br.readLine();

// 遍历要统计的词汇

Iterator iter = map.keySet().iterator();

while (iter.hasNext()) {

String key = iter.next();

Info info = map.get(key);

// 词汇的统计分析

analysis(lineno, key, line, info);

}

}

br.close();

fr.close();

FileWriter fw = new FileWriter("dest.txt");

// 遍历要统计的词汇 输出结果

Iterator iter = map.keySet().iterator();

while (iter.hasNext()) {

String key = iter.next();

Info info = map.get(key);

fw.write(key + ENTER);

for (int i = 0; i 

fw.write(info.linenos.get(i) + "行出现 [" + info.counts.get(i)

+ "]次" + ENTER);

}

}

fw.close();

}

private void analysis(int lineno, String word, String line, Info info) {

int count = 0;

while (line.indexOf(word) != -1) {

count++;

int index = line.indexOf(word);

line = line.substring(index + word.length());

}

if (count != 0) {

info.linenos.add(lineno);

info.counts.add(count);

}

}

}

class Info {

// 行号

List linenos = new ArrayList();

// 出现次数

List counts = new ArrayList();

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值