package 字母频率统计;
import java.io.*;
public class Inputfile {
public static void main(String args[]) {
try {
char shu[] = new char[1000];
char zimu[] = new char[52];
int j=0;
int count[]=new int[52];
String pathname="D:\\a.txt";
File filename=new File(pathname);
InputStreamReader reader=new InputStreamReader(new FileInputStream(filename));
BufferedReader br=new BufferedReader(reader);
String line[]=new String[100];;
for(int i=0;i<line.length;i++){
line[i]=br.readLine();
}
br.close();
int k=0;
while(line[k]!=null) {
for(int i=0;i<line[k].length();i++) {
shu[j]=line[k].charAt(i);
j++;
}
k++;
}
for(int i=0;i<shu.length;i++) {
switch(shu[i]) {
case 'a':zimu[0]='a';count[0]++;break;
case 'b':zimu[1]='b';count[1]++;break;
case 'c':zimu[2]='c';count[2]++;break;
case 'd':zimu[3]='d';count[3]++;break;
case 'e':zimu[4]='e';count[4]++;break;
case 'f':zimu[5]='f';count[5]++;break;
case 'g':zimu[6]='g';count[6]++;break;
case 'h':zimu[7]='h';count[7]++;break;
case 'i':zimu[8]='i';count[8]++;break;
case 'j':zimu[9]='j';count[9]++;break;
case 'k':zimu[10]='k';count[10]++;break;
case 'l':zimu[11]='l';count[11]++;break;
case 'm':zimu[12]='m';count[12]++;break;
case 'n':zimu[13]='n';count[13]++;break;
case 'o':zimu[14]='o';count[14]++;break;
case 'p':zimu[15]='p';count[15]++;break;
case 'q':zimu[16]='q';count[16]++;break;
case 'r':zimu[17]='r';count[17]++;break;
case 's':zimu[18]='s';count[18]++;break;
case 't':zimu[19]='t';count[19]++;break;
case 'u':zimu[20]='u';count[20]++;break;
case 'v':zimu[21]='v';count[21]++;break;
case 'w':zimu[22]='w';count[22]++;break;
case 'x':zimu[23]='x';count[23]++;break;
case 'y':zimu[24]='y';count[24]++;break;
case 'z':zimu[25]='z';count[25]++;break;
case 'A':zimu[26]='A';count[26]++;break;
case 'B':zimu[27]='B';count[27]++;break;
case 'C':zimu[28]='C';count[28]++;break;
case 'D':zimu[29]='D';count[29]++;break;
case 'E':zimu[30]='E';count[30]++;break;
case 'F':zimu[31]='F';count[31]++;break;
case 'G':zimu[32]='G';count[32]++;break;
case 'H':zimu[33]='H';count[33]++;break;
case 'I':zimu[34]='I';count[34]++;break;
case 'J':zimu[35]='G';count[35]++;break;
case 'K':zimu[36]='K';count[36]++;break;
case 'L':zimu[37]='L';count[37]++;break;
case 'M':zimu[38]='M';count[38]++;break;
case 'N':zimu[39]='N';count[39]++;break;
case 'O':zimu[40]='O';count[40]++;break;
case 'P':zimu[41]='P';count[41]++;break;
case 'Q':zimu[42]='Q';count[42]++;break;
case 'R':zimu[43]='R';count[43]++;break;
case 'S':zimu[44]='S';count[44]++;break;
case 'T':zimu[45]='T';count[45]++;break;
case 'U':zimu[46]='U';count[46]++;break;
case 'V':zimu[47]='V';count[47]++;break;
case 'W':zimu[48]='W';count[48]++;break;
case 'X':zimu[49]='X';count[49]++;break;
case 'Y':zimu[50]='Y';count[50]++;break;
case 'Z':zimu[51]='Z';count[51]++;
}
}
int ci=0;
int sum=0;
System.out.println("短文中各字母出现情况统计如下:");
for(int i=0;i<52;i++)
{
if(count[i]!=0) {
ci++;
sum+=count[i];
System.out.println(ci+".字母"+zimu[i]+"的出现次数是:"+count[i]);
}
}
System.out.println("字母共计:"+sum+"个");
}catch (Exception e) {
e.printStackTrace();
}
} }

测试文档

运行截图

构成思路:

一,利用输入流从文本文档读入字符串;

二,利用方法charAT(),将字符串转换为字符数组;

三,利用for循环和switch语句统计字母次数

四,输出结果。

文本文档中各字母出现次数汇总(java)的更多相关文章

  1. Java 写一段字符到指定的文本文档中,如果该文本文档不存在,则创建该文本文档

    写一段字符到指定的文本文档中,如果该文本文档不存在,则创建该文本文档 import java.io.File; import java.io.FileNotFoundException; import ...

  2. 编写Java程序,读取文本文档的内容,去除文本中包含的“广告”字样,把更改后的内容保存到一个新的文本文档中

    查看本章节 查看作业目录 需求说明: 读取文本文档的内容,去除文本中包含的"广告"字样,把更改后的内容保存到一个新的文本文档中 实现思路: 在main() 方法中,使用 new F ...

  3. 使用 AWK 去掉文本文档中的空白行

    在 Linux 操作系统中,可以使用 AWK 命令高效地处理文本文档.AWK 命令通过执行使用 AWK 语言编写的脚本程序,处理文本文档.AWK 脚本程序是由模式(patterns)与相关操作(cor ...

  4. Java 单字节、多字节读取文本文档中的内容

    文本文档位于工程下. 鼠标右击工程,选择“new - File”,即可创建. 文本文档的格式:GBK 单字节读取 import java.io.File; import java.io.FileInp ...

  5. Java提取文本文档中的所有网址(小案例介绍正则基础知识)

    正则表达式基础以及Java中使用正则查找 定义: 正则表达式是一些用来匹配和处理文本的字符串 正则的基础(先大致了解下) 1. 正则表达式的作用 查找特定的信息(搜索) 替换一些文本(替换) 2. 正 ...

  6. oracle数据库中将clob字段内容利用java提取出至文本文档中

    代码段: 1.执行clob转String public static String ClobToString(Clob sc) throws SQLException, IOException { S ...

  7. 过滤文本文档中的数据并插入Cassandra数据库

    代码如下: package com.locationdataprocess; import java.io.BufferedReader; import java.io.File; import ja ...

  8. python 读取文本文档中的数据

    import os dir = input('Please input the file dir:')#提示输入文件路径 while not os.path.exists(dir):#判断文件是否存在 ...

  9. jenkins job构建后汇总结果到同一个文本文档中去

    jenkins 构建后,执行下shell脚本,把结果汇总到同一个文件中,这样多个job构建后的结果可以在一个文件中展示 result_all_dir="/app/jenkins_result ...

随机推荐

  1. IPv6简介

    https://segmentfault.com/a/1190000008794218 IPv6的优点 更大的地址空间 名字叫IPv6,但它的长度并不是64位,而是128位,总的地址空间大约为3.4* ...

  2. Linux用户抢占和内核抢占详解(概念, 实现和触发时机)--Linux进程的管理与调度(二十)

    1 非抢占式和可抢占式内核 为了简化问题,我使用嵌入式实时系统uC/OS作为例子 首先要指出的是,uC/OS只有内核态,没有用户态,这和Linux不一样 多任务系统中, 内核负责管理各个任务, 或者说 ...

  3. c/c++ 标准库 插入迭代器 详解

    标准库 插入迭代器 详解 插入迭代器作用:copy等函数不能改变容器的大小,所以有时copy先容器是个空的容器,如果不使用插入迭代器,是无法使用copy等函数的. 例如下面的代码就是错误的: list ...

  4. c/c++ 编译器提供的默认6个函数

    c/c++ 编译器提供的默认6个函数 1,构造函数 2,拷贝构造函数 3,析构函数 4,=重载函数 5,&重载函数 6,const&重载函数 #include <iostream ...

  5. python中封装、继承、多态

    又看到这个玩意,顺手写下来 面向对象三大特征: 封装:本质是将事物相关的属性和方法封装在一个类里面,我们调用类创建实例的时候,不用关心类内部的代码细节 继承:子类需要复用父类里面的属性或者方法,当然子 ...

  6. 利用uWSGI和nginx进行服务器部署

    搭建服务器虚拟环境 1)在本机进入虚拟环境,执行命令导出当前需要的所有包. pip freeze > plist.txt 2)通过ftp软件将项目代码和plist.txt文件上传到服务器. 3) ...

  7. windows入侵

    一, ping 用来检查网 络是否通畅或者网络连接速度的命令.作为一个生 活在网络上的管理员或者黑 客来说, ping 命令是第一个必须掌握的 DOS 命令,所利用的原理是这样的网络上的机器都有唯一确 ...

  8. Spring的IOC注解开发入门2

    注解方式设置属性的值 在我们IOC基于xml属性注入的方式中有(一般推荐set方法) 构造方法注入普通值:<constructor-arg>的使用 set方法注入普通值:<prope ...

  9. PHP服务器Apache与Nginx的对比分析

    PHP服务器Apache与Nginx的对比分析 本篇文章给大家带来的内容是关于PHP服务器Apache与Nginx的对比分析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Apach ...

  10. 新手PHP连接MySQL数据库出问题(Warning: mysqli_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES))

    我用的环境是wampServer集成的软件包 在php连接MySQL数据库的时候老是出现这个问题Warning: mysqli_connect(): (HY000/1045): Access deni ...