java - java中输出字数统计时出错

标签 java word-count

我想计算匹配和单词数。

我有两个文本文件,用于相互比较单词。

例如,

文本文件:a b c d e。

b 文本文件:a a a a a。

我想看到这个输出。

输出:5。

但是当我编写代码时,它不起作用。

请帮助我。

我使用 eclipse、windows 8.1 64 位为 java adk 1.8 编写了代码。

这是下面的代码。

   package test1;

    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.IOException;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;

    public class ex01 {

       public static void main(String[] args) throws IOException {
          // TODO Auto-generated method stub


          FileReader fr = new FileReader("C:/Users/Hong/Desktop/승현연구/152-300/301.txt");
          FileReader key_item = new FileReader("C:/Users/Hong/Desktop/승현연구/no-yes2500.txt");

          BufferedReader br = new BufferedReader(fr);
          BufferedReader br2 = new BufferedReader(key_item);

          FileOutputStream file = new FileOutputStream("C:/Users/Hong/Desktop/승현연구/답변빈도/a301.txt");

          List<String> key = new ArrayList<String>();
          List<String> str = new ArrayList<String>();

          String in = "";
          String s = "";
          String ss[];

          while ((in = br2.readLine()) != null) {
                key.add(in);
          }
          while ((s = br.readLine()) != null) {
                str.add(s);
          }

          ***int cnt = 0;
          int count = 0;
          int cont = 0;
          String txt = "";

          for (int i = 0; i < key.size(); i++) {
             for (int j = 0; j < str.size(); j++) {

                System.out.println(j + " " + str.get(j));

                if (str.get(j).lastindexOf(key.get(i))) {

                  cnt++;
                  //System.out.println(key.get(i) + " " + cnt);
                 }
               if (cnt == 1){
                   //cont ++ 1;
               //System.out.printf("%d",cont);
                }
             }

              System.out.println(key.get(i) + " " + cnt);

                txt = txt + key.get(i) + " " + cnt + "\n";

                cnt = 0;

               }
           file.write(txt.getBytes());

          }***

          //System.out.println("Hello Java");


    }

在我的编码中,导致此行的错误 [ if (str.get(j).lastindexOf(key.get(i)))] 我不知道为什么 这是解释文本文件和我想要做什么的摘要

首先,我想看到的代码是比较 301 文本文件和 no-yes2500 文本文件,并输出属于 no-yes2500 的字数统计 (例如:苹果 3 香蕉2)

  • 301.txt 是一个文本文件,包含有关问答社区答案的句子。
  • no-yes2500.txt 是关键字列表

最佳答案

str.get(j).toString().lastIndexOf(key.get(i).toString())>=0

试试这个

关于java - java中输出字数统计时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37781782/

相关文章:

java - 模拟时递归调用系统

Java 字数统计 : Error: Cannot find symbol. Java 编译器

java - 运行hadoop wordcount示例时出现错误消息

java - 带有 Powermockito 的 TestNG 静态方法失败

java - ARM64 机器上的 Cassandra 启动失败(java.lang.NoClassDefFoundError : Could not initialize class com. sun.jna.Native)

java - 我应该存储哈夫曼结果的什么类型的文件?

hadoop - map 减少字数统计程序给出 “class not found exception”

ruby - 字数统计( ruby )

ruby - Rails 中的字数统计?

java - 将投影添加到吗啡查询