Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法
程序员文章站
2023-12-12 09:01:04
本文实例讲述了java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法。分享给大家供大家参考,具体如下:
package javatest;...
本文实例讲述了java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法。分享给大家供大家参考,具体如下:
package javatest; import java.io.bufferedreader; import java.io.file; import java.io.filenotfoundexception; import java.io.fileoutputstream; import java.io.filereader; import java.io.ioexception; import java.util.arrays; import java.util.hashmap; import java.util.iterator; import java.util.map; import java.util.scanner; import java.util.set; public class demo { public static void main(string[] args) { scanner scanner = new scanner(system.in); system.out.println("请输入 :"); string inputstr = scanner.nextline(); system.out.println("inputstr : " + inputstr); file file = new file("d:/test/test01.txt"); fileoutputstream fileout; try { fileout = new fileoutputstream(file); fileout.write(inputstr.getbytes()); } catch (filenotfoundexception e) { e.printstacktrace(); } catch (ioexception e) { e.printstacktrace(); } string result = ""; try { bufferedreader br = new bufferedreader(new filereader(file));//构造一个bufferedreader类来读取文件 string s = null; while ((s = br.readline()) != null) {//使用readline方法,一次读一行 result = result + s + " "; } br.close(); } catch (exception e) { e.printstacktrace(); } system.out.println("---------------------------------------------"); system.out.println(result); string[] arr = result.split(" "); system.out.println(arrays.tostring(arr)); system.out.println(arr.length); map<string, integer> map = new hashmap<>(); for (string str : arr) { integer num = map.get(str); map.put(str, num == null ? 1 : num + 1); } set set = map.entryset(); iterator it = set.iterator(); system.out.println("---------------------------------------------"); system.out.println("方法一 :"); while (it.hasnext()) { map.entry<string, integer> entry = (map.entry<string, integer>) it.next(); system.out.println("单词 " + entry.getkey() + " 出现次数 : " + entry.getvalue()); } system.out.println("---------------------------------------------"); system.out.println("方法二 :"); iterator it01 = map.keyset().iterator(); while (it01.hasnext()) { object key = it01.next(); system.out.println("单词 " + key + " 出现次数 : " + map.get(key)); } } }
输出:
请输入 : aaa bbb ccc ddd ddd aaa inputstr : aaa bbb ccc ddd ddd aaa --------------------------------------------- aaa bbb ccc ddd ddd aaa [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款非常方便的统计工具供大家参考使用:
在线字数统计工具:
在线字符统计与编辑工具:
更多关于java算法相关内容感兴趣的读者可查看本站专题:《java数据结构与算法教程》、《java操作dom节点技巧总结》、《java文件与目录操作技巧汇总》和《java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。