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()+"次"); } } }
点赞 评论

相关推荐

hwwhwh:同双非,有大厂实习其实也没啥用,主要看运气,等就行了
点赞 评论 收藏
分享
牛客44664404...:把个人技能删了搞这么长干什么!还有你面试要先针对那个公司的技术栈专门去准备,别一问三不知,他需要你会他们公司对口的技术,写这么多不对口没有用
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务