我是从朋友那里被引导到这个网站的。目标是读取txt文件中的前100个字符串,并计算这些单词出现的次数并将其打印出来。 非常感谢你提前。我在代码方面做得很好,但由于某些原因,这让我很难过。
import java.util.Arrays;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Program6 {
public static void main(String[] args) throws FileNotFoundException {
WordAnalysis a = new WordAnalysis();
a.ReadFile();
}}
class WordAnalysis{
String[] coun = new String[1000];
int[] ana = new int[100];
void ReadFile() throws FileNotFoundException {
Scanner read = new Scanner(new File("myths.txt"));
int[] ana = new int[100];
String coun = new String();
String word=null;
while(read.hasNext()) {
word = read.next();
String[] arrWord = word.split(" ");
}
}
}
答案 0 :(得分:3)
步骤:
答案 1 :(得分:1)
选中此处,我在这里使用地图来保持字数。
int count = 0;
HashMap<String, Integer> wordCntMap = new HashMap();
while (read.hasNext()) {
count++;
word = read.next();
String[] arrWord = word.split(" ");
if (count == 100) {
break;
}
for (String str : arrWord) {
Integer num = wordCntMap.get(str);
if (num == null) {
wordCntMap.put(str, new Integer(1));
} else {
wordCntMap.put(str, num + 1);
}
}
}
System.out.println("Word Count " + wordCntMap);
答案 2 :(得分:0)
欢迎来到Stack Overflow,其中没有任何答案太愚蠢,也没有任何评论过于轻率。
但是,您还没有完成编写此代码。 : - )
既然你已经在arrWord中使用了单词,那么你需要开始使用某种结构来跟踪每个单词以及它被看到的次数。
有很多容器可以让你使用字符串作为键,使用整数作为值。为了您的目的,使用哪一个并不重要。
对于arrWord中的每个单词,看看你是否可以在你的结构中找到它(Dictionary,Hashmap,等等)。如果找不到'word',请插入[word,1]的新条目。如果你能找到'word',那么递增你找到的计数器。
完成后,您需要做的就是为结构中的每个条目打印出键值对。
HTH!