java统计文本中单词出现的个数

package com.java_Test;

import java.io.File;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set; public class test {
public static void main(String[] args) throws Exception {
new test().wordCount();
}//统计文本中单词出现的个数
public void wordCount() throws Exception{
File file=new File("text3.txt");
Scanner sc=new Scanner(file);
HashMap<String,Integer> hashMap=new HashMap<>();
System.out.println("文章----------------------");
while(sc.hasNextLine()){
String line=sc.nextLine();
System.out.print(line+" ");
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);
}
}
}
System.out.println("统计单词------------------");
Iterator<String> iterator=hashMap.keySet().iterator();
while(iterator.hasNext()){
String word=iterator.next();
System.out.printf("单词:%-12s 出现次数:%d\n",word,hashMap.get(word));
}
}
}
上一篇:Redis简单延时队列


下一篇:LeetCode 5216. 统计元音字母序列的数目(Java)DP