文本分析领域按顺序使用了许多不同的工具 提取有关书面作品的信息。其中一种方法是 字长频率,用于评估写作模式 (例如,一位作者可能更喜欢使用简短的“活泼”字样, 而另一个可能更喜欢更长的单词)。这样的信息可以 有助于识别(或排除)匿名作者 一段文字,它也可以用来改善“流动”或 文本的可读性。最简单的形式,频率分析 计算长度为1,2,3,...,n的单词数,其中n为 给定文本中最长单词的长度。例如,分析 句子“我是男人”会产生输出“2,1,1”(即, 两个长度为1的单词(" I"," a"),一个长度为2的单词(" am")和一个单词 长度为3的单词(" man")。这项任务要求你制作一个 基于文本的应用程序(即在命令行运行的程序, 不是图形程序)执行此分析,计算a 一段文字的统计范围。规范 作业如下:
程序应该读取一个名为body.txt的文件,将其打印出来 分析其词长频率。对于"基本" (即通过)标记, 你应该计算文本中字长的频率和 以文本形式显示结果(即,只列出频率)。
到目前为止,我已经得到了下面的代码,我真的在努力学习如何进步,任何人都可以提供的任何指针都会对我有所帮助。我是这个论坛的新手并且自己编码所以如果这是一个基本问题,请不要侮辱我。
import java.io.*;
public class Help1 {
public static void main(String args[]) {
try {
BufferedReader reader = new BufferedReader(new FileReader(
"body.txt"));
String text = null;
while ((text = reader.readLine()) != null) {
System.out.println(text);
// Work in this loop
// The code takes each line in the file body.txt and
// prints out each word
String words[] = text.split(" ");
for (int i = 0; i < words.length; i++) {
System.out.println("words[" + i + "]=" + words[i]);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:-2)
你需要一种方法来计算每个单词长度发生的次数,不是你。这是一项任务,对任何只给出答案的人都感到羞耻,但这可能会帮助你通过以下方式思考问题:
最后,您必须遍历地图并打印结果。
您可以在此处获取有关如何使用地图的详细信息:
http://docs.oracle.com/javase/tutorial/collections/interfaces/map.html