• 课堂测试2


    11.19

    输出单个文件中的前N个最长出现的英文字母:

    代码部分:

    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();
    }
    }
    }

    }

    运行结果:

     最后成功的在控制台输出前N个最长出现的字母

  • 相关阅读:
    Java实现蓝桥杯VIP 算法训练 找公倍数
    Java实现 蓝桥杯VIP 算法训练 水仙花数
    Java实现 蓝桥杯VIP 算法训练 水仙花数
    Java实现 蓝桥杯VIP 算法训练 水仙花数
    Java实现 蓝桥杯VIP 算法训练 水仙花数
    XE6 & IOS开发之免证书真机调试(2):连接真机并运行App(有图有真相)
    使用IRP进行文件操作
    Inline Hook NtQueryDirectoryFile
    VC提交网页表单(一共八篇)
    C++ Socket UDP "Hello World!"
  • 原文地址:https://www.cnblogs.com/092e/p/14148590.html
Copyright © 2020-2023  润新知