package BeautifulCoding; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.util.HashMap; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Solution8 { public static void main(String[] args)throws Exception{ BufferedReader reader = new BufferedReader(new FileReader(new File("").getAbsolutePath()+"//files//"+"1.txt")); StringBuilder builder = new StringBuilder(); String temp = null; while((temp=reader.readLine())!=null){ builder.append(temp); } printwordsnum(builder.toString()); reader.close(); } public static void printwordsnum(String str){ String regex = "[\\w&&[^\\d]&&[^\\s]]+"; int wordsum = 0; Map<String,Integer> total = new HashMap<>(); Pattern p = Pattern.compile(regex); Matcher m = p.matcher(str); while(m.find()){ wordsum++; String key = m.group(); if(total.containsKey(key)){ int old = total.get(key)+1; total.remove(key); total.put(key, old); }else{ total.put(key,1); } } System.out.println("该文本单词总数是:"+wordsum); System.out.println("其中各单词出现频率详细:"); for(Map.Entry<String,Integer> word : total.entrySet()){ System.out.println(word.getKey()+"出现了:"+word.getValue()+"次"); } } }
点赞 评论
牛客网
牛客企业服务