一道关于DataStructures in java的题目

feng01_26 2009-06-10 11:54:47
写一个程序,要求用hashTable计算一个java源代码中关键字的字频.文件从外部读入。

看了好几天有思路,但是没有学过file Reader和使用HashTable。看了好几天的Package。还是没有搞清楚。求高手指点~~
...全文
32 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dieyingao 2009-06-10
  • 打赏
  • 举报
回复
Map<String, Integer> javaKeys = new HashMap<String, Integer>();
javaKeys.put("public", 0);
javaKeys.put("import", 0);
javaKeys.put("package", 0);
javaKeys.put("void", 0);
javaKeys.put("class", 0);
javaKeys.put("static", 0);

try {
BufferedReader reader = new BufferedReader(new FileReader(new File("Test.java")));
String line = reader.readLine();
while(line != null) {
String[] words= line.split("[ \t.();:]");
for (String word : words) {
System.out.println(word);
if (javaKeys.containsKey(word))
{
int count = javaKeys.get(word);
count++;
javaKeys.put(word, count);
}
}
line = reader.readLine();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

没做统计,基本就是这个样子
knightzhuwei 2009-06-10
  • 打赏
  • 举报
回复
你至少得把关键词列表给我发上来吧。。
xunshu 2009-06-10
  • 打赏
  • 举报
回复
是不是这样呢:首先把所有的java关键字当作key都放进hashTable里,初始对应的value值都是0;然后读源代码,每读到一个单词,都对照一下hashTable里的key,如果有的话相应的value加1;最后把所有的key和value都打印出来
yejinson 2009-06-10
  • 打赏
  • 举报
回复
还没看到就开始用了, 那你就应该去看需要用的
feng01_26 2009-06-10
  • 打赏
  • 举报
回复
谢谢3楼!!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧