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 )
- 301.txt 是一个文本文件,包含有关问答社区答案的句子。
- no-yes2500.txt是关键字列表
您的代码中有错字,请将 lastindexOf
替换为 lastIndexOf
并将 if 子句中的表达式计算为布尔值,目前它是一个 int(即索引)
str.get(j).toString().lastIndexOf(key.get(i).toString())>=0
试试这个
我想统计匹配和统计字数。
我有两个文本文件,并且要互相比较单词。
例如,
一个文本文件: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 )
- 301.txt 是一个文本文件,包含有关问答社区答案的句子。
- no-yes2500.txt是关键字列表
您的代码中有错字,请将 lastindexOf
替换为 lastIndexOf
并将 if 子句中的表达式计算为布尔值,目前它是一个 int(即索引)
str.get(j).toString().lastIndexOf(key.get(i).toString())>=0
试试这个