查询文件中单词出现的次数

复制代码
package text;
import java.io.File;
import java.util.Scanner;
import java.io.File;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class zimupinlv {
    public static <type> void main (String[] args) throws File {
        File file=new File("C:\\Users\\冯静妃\\Desktop\\StringBuffer.txt");
        if(!file.exists()){
            System.out.println("文件不存在");
            return;
        }  
        Scanner scanner=new Scanner(file);
        HashMap<String,Integer> hashMap=new HashMap<String,Integer>();
        while(scanner.hasNextLine()) {
            String line=scanner.nextLine();
            String[] lineWords=line.split("\\W+");
            Set<String> wordSet=hashMap.keySet();
            for(int i=0;i<lineWords.length;i++) {
                if(wordSet.contains(lineWords[i])) {
                    Integer number=hashMap.get(lineWords[i]);
                    number++;
                    hashMap.put(lineWords[i], number);
                }
                else {
                    hashMap.put(lineWords[i], 1);
                }
            }
        }
        Iterator<String> iterator=hashMap.keySet().iterator();
        while(iterator.hasNext()) {
            String word=iterator.next();
            System.out.printf("单词:%-12s 出现次数:%d\n",word,hashMap.get(word));
        }
        }
}
这个题目中有文件的导入和读取,还有单词个数计算和输出。用了函数hashMap函数,其中的变量Integer是动态的,
不断向后面的单词取值,之后映射给String,从而比较来计数,如果相等就number加1,如果不等就赋值次数为1。
复制代码

 

posted on   FF冯静妃  阅读(263)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示