• 课堂测试


    11.18

    要求:

    输入某个英文文本文件中26个字母出现的频率

    代码部分:

    package lianxi;
    import java.io.*;
    public class yingwen {
    public static void main(String[] args) throws IOException
    {
    int a[]=new int[52];
    int i,j=0,k;
    int sum=0;
    FileReader fr = null;
    try
    {
    //创建字符输入流
    fr = new FileReader("D:\a.txt");
    //创建一个长度为32的“竹筒”
    char[] cbuf = new char[32];
    //用于保存实际读取的字符数
    int hasRead = 0;
    //使用循环来重复“取水”过程
    while ((hasRead = fr.read(cbuf)) > 0 )
    {
    //取出“竹筒”中水滴(字节),将字符数组转换成字符串输入!
    for(i=0;i<32;i++) {
    if((cbuf[i])==65)
    a[0]++;
    if((cbuf[i])==66)
    a[1]++;
    if((cbuf[i])==67)
    a[2]++;
    if((cbuf[i])==68)
    a[3]++;
    if((cbuf[i])==69)
    a[4]++;
    if((cbuf[i])==70)
    a[5]++;
    if((cbuf[i])==71)
    a[6]++;
    if((cbuf[i])==72)
    a[7]++;
    if((cbuf[i])==73)
    a[8]++;
    if((cbuf[i])==74)
    a[9]++;
    if((cbuf[i])==75)
    a[10]++;
    if((cbuf[i])==76)
    a[11]++;
    if((cbuf[i])==77)
    a[12]++;
    if((cbuf[i])==78)
    a[13]++;
    if((cbuf[i])==79)
    a[14]++;
    if((cbuf[i])==80)
    a[15]++;
    if((cbuf[i])==81)
    a[16]++;
    if((cbuf[i])==82)
    a[17]++;
    if((cbuf[i])==83)
    a[18]++;
    if((cbuf[i])==84)
    a[19]++;
    if((cbuf[i])==85)
    a[20]++;
    if((cbuf[i])==86)
    a[21]++;
    if((cbuf[i])==87)
    a[22]++;
    if((cbuf[i])==88)
    a[23]++;
    if((cbuf[i])==89)
    a[24]++;
    if((cbuf[i])==90)
    a[25]++;
    if((cbuf[i])==97)
    a[26]++;
    if((cbuf[i])==98)
    a[27]++;
    if((cbuf[i])==99)
    a[28]++;
    if((cbuf[i])==100)
    a[29]++;
    if((cbuf[i])==101)
    a[30]++;
    if((cbuf[i])==102)
    a[31]++;
    if((cbuf[i])==103)
    a[32]++;
    if((cbuf[i])==104)
    a[33]++;
    if((cbuf[i])==105)
    a[34]++;
    if((cbuf[i])==106)
    a[35]++;
    if((cbuf[i])==107)
    a[36]++;
    if((cbuf[i])==108)
    a[37]++;
    if((cbuf[i])==109)
    a[38]++;
    if((cbuf[i])==110)
    a[39]++;
    if((cbuf[i])==111)
    a[40]++;
    if((cbuf[i])==112)
    a[41]++;
    if((cbuf[i])==113)
    a[42]++;
    if((cbuf[i])==114)
    a[43]++;
    if((cbuf[i])==115)
    a[44]++;
    if((cbuf[i])==116)
    a[45]++;
    if((cbuf[i])==117)
    a[46]++;
    if((cbuf[i])==118)
    a[47]++;
    if((cbuf[i])==119)
    a[48]++;
    if((cbuf[i])==120)
    a[49]++;
    if((cbuf[i])==121)
    a[50]++;
    if((cbuf[i])==122)
    a[51]++;
    }

    }
    for(k=0;k<52;k++)sum+=a[k];
    for(k=0,j=65;k<26;k++,j++)System.out.println((char)j+" "+(a[k]/877049.0)*100+"%");
    for(k=26,j=97;k<52;k++,j++)System.out.println((char)j+" "+(a[k]/877049.0)*100+"%");
    System.out.println(a[0]);
    }
    catch (IOException ioe)
    {
    ioe.printStackTrace();
    }
    finally
    {
    //使用finally块来关闭文件输入流
    if (fr != null)
    {

    fr.close();
    }
    }
    }

    }

     

     

     运行结果分析:

    最后成功的吧文件里的英文字母的频率算了出来并成功打印到控制台。

  • 相关阅读:
    iOS初级博客的链接
    代理参数问题的思考
    数组里面的选择排序与起泡排序比较
    【C语言】02-函数
    【C语言】01-第一个c程序代码分析
    响应者链的事件分发
    UIController中view的记载流程
    UITabBar的定制
    CommandTabel_代理方法
    来到博客园
  • 原文地址:https://www.cnblogs.com/092e/p/14148538.html
Copyright © 2020-2023  润新知