统计英文字母
Posted adret
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计英文字母相关的知识,希望对你有一定的参考价值。
设计思路:
首先读取英文文件,然后每次读取一个字母, 判断单词是否存在于word ,每次读取一个字母直到最后,如果字符为换行。空格,单引号,双引号,逗号,句号 则为一个单词的结束及另一个单词的开始,如果单词在单词链中存在则单词数++,如果不存在则在单词链中添加 然后利用循环语句找到单词链中个数最多的 输出单词链中个数最多的
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Iterator; import java.util.TreeMap; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Zimu { public static void main(String[] args) throws IOException { String addr="指定的文本路径"; BufferedReader bufr = new BufferedReader(new FileReader(addr)); StringBuffer sbuf = new StringBuffer(); String line = null; while ((line = bufr.readLine()) != null) { sbuf.append(line); } bufr.close(); Pattern expression = Pattern.compile("[a-zA-Z]+"); String str1 = sbuf.toString().toLowerCase(); Matcher matcher = expression.matcher(str1); TreeMap myTreeMap = new TreeMap(); int n = 0; Object word = null; Object num = null; while (matcher.find()) { word = matcher.group(); n++;// if (myTreeMap.containsKey(word)) { num = myTreeMap.get(word); Integer count = (Integer) num; myTreeMap.put(word, count.intValue() + 1); } else { myTreeMap.put(word, new Integer(1));// } } System.out.println("文章内容如下:"); System.out.println(str1); System.out.println("统计分析如下:"); System.out.println("文章中单词总数:" + n+"个"); System.out.println("具体的信息在当前目录的lwl.txt文件中"); BufferedWriter bufw=new BufferedWriter(new FileWriter("C:/ijm/lwl.txt")); Iterator iter=myTreeMap.keySet().iterator(); Object key=null; bufw.write("文件来自:"+addr+"内容如下:"); bufw.write(sbuf.toString()); bufw.newLine(); while(iter.hasNext()){ key=iter.next(); System.out.println(key+":"+myTreeMap.get(key)); bufw.write((String)key+":"+myTreeMap.get(key)); bufw.newLine(); } bufw.write("统计分析如下:"); bufw.write("文章中单词总数:" + n+"个"); bufw.newLine(); bufw.write("文章中不同单词总数:" + myTreeMap.size()+"个"); bufw.close(); } }
以上是关于统计英文字母的主要内容,如果未能解决你的问题,请参考以下文章
C语言编程:输入一串英文字母,统计每个字母(不区分大小写)出现的次数
片段(Java) | 机试题+算法思路+考点+代码解析 2023