Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法
本文实例讲述了Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法。分享给大家供大家参考,具体如下:
packagejavatest; importjava.io.BufferedReader; importjava.io.File; importjava.io.FileNotFoundException; importjava.io.FileOutputStream; importjava.io.FileReader; importjava.io.IOException; importjava.util.Arrays; importjava.util.HashMap; importjava.util.Iterator; importjava.util.Map; importjava.util.Scanner; importjava.util.Set; publicclassDemo{ publicstaticvoidmain(String[]args){ Scannerscanner=newScanner(System.in); System.out.println("请输入:"); StringinputStr=scanner.nextLine(); System.out.println("inputStr:"+inputStr); Filefile=newFile("D:/test/test01.txt"); FileOutputStreamfileOut; try{ fileOut=newFileOutputStream(file); fileOut.write(inputStr.getBytes()); }catch(FileNotFoundExceptione){ e.printStackTrace(); }catch(IOExceptione){ e.printStackTrace(); } Stringresult=""; try{ BufferedReaderbr=newBufferedReader(newFileReader(file));//构造一个BufferedReader类来读取文件 Strings=null; while((s=br.readLine())!=null){//使用readLine方法,一次读一行 result=result+s+""; } br.close(); }catch(Exceptione){ e.printStackTrace(); } System.out.println("---------------------------------------------"); System.out.println(result); String[]arr=result.split(""); System.out.println(Arrays.toString(arr)); System.out.println(arr.length); Mapmap=newHashMap<>(); for(Stringstr:arr){ Integernum=map.get(str); map.put(str,num==null?1:num+1); } Setset=map.entrySet(); Iteratorit=set.iterator(); System.out.println("---------------------------------------------"); System.out.println("方法一:"); while(it.hasNext()){ Map.Entry entry=(Map.Entry )it.next(); System.out.println("单词"+entry.getKey()+"出现次数:"+entry.getValue()); } System.out.println("---------------------------------------------"); System.out.println("方法二:"); Iteratorit01=map.keySet().iterator(); while(it01.hasNext()){ Objectkey=it01.next(); System.out.println("单词"+key+"出现次数:"+map.get(key)); } } }
输出:
请输入: AAABBBCCCDDDDDDAAA inputStr:AAABBBCCCDDDDDDAAA --------------------------------------------- AAABBBCCCDDDDDDAAA [AAA,BBB,CCC,DDD,DDD,AAA] 6 --------------------------------------------- 方法一: 单词AAA出现次数:2 单词CCC出现次数:1 单词BBB出现次数:1 单词DDD出现次数:2 --------------------------------------------- 方法二: 单词AAA出现次数:2 单词CCC出现次数:1 单词BBB出现次数:1 单词DDD出现次数:2
PS:这里再为大家推荐2款非常方便的统计工具供大家参考使用:
在线字数统计工具:
http://tools.jb51.net/code/zishutongji
在线字符统计与编辑工具:
http://tools.jb51.net/code/char_tongji
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。