java 中的字数输出错误

error in output the word counts in java

我想统计匹配和统计字数。

我有两个文本文件,并且要互相比较单词。

例如,

一个文本文件:a b c d e。

b 文本文件:a a a a a.

我想看到这个输出。

输出:一个 5.

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

请帮帮我

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

这是后面的代码。

   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");


    }

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

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

您的代码中有错字,请将 lastindexOf 替换为 lastIndexOf 并将 if 子句中的表达式计算为布尔值,目前它是一个 int(即索引)

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

试试这个