zoukankan      html  css  js  c++  java
  • 设计统计英文字母出现频率的程序的感想

      今天下午我们在学习Java的过程中,王老师给我们留下了一个程序设计作业,其要求是让我们设计一个程序,要实现 输出单个文件中的前 N 个最常出现的英语单词,并将结果输入到文本文件中的功能。我思考并上机了一个下午最终实现了部分功能。

      首先当看到这个题目的时候,我想到了将这个实验分成三部分:

      1.读取指定文本的内容;

      2.统计所有单词在该文本中的出现次数;

      3.将结果输入到指定文本。

      经过下午上机的努力,我仅仅实现了第一个功能。后来经过求助我的舍友,完成了第二个功能。第三个功能尚未实现。

      实验源码如下:

      

    package yingwen;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.InputStreamReader;
    public class yingwen {
     private int num[]=new int[52];
     public void readTxt(String filePath) {
      try {
       File file = new File(filePath);
       if(file.isFile() && file.exists()) {
        InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "utf-8");
        while(isr.ready())
        {
         char c=(char)isr.read();
         if(c>='a'&&c<='z')
         {
          ++num[(int)(c-'a')];
         }
         else if(c>='A'&&c<='Z')
         {
          ++num[(int)(c-'A')];
         }
        }
        isr.close();
       } else {
        System.out.println("文件不存在!");
       }
      } catch (Exception e) {
       System.out.println("文件读取错误!");
      }
     }
     public int[] num1()
     {
      return num;
     }
     public static void main(String[] args) {
      String filePath = "E:\Yingwen\English.txt";
      yingwen a=new yingwen();
      a.readTxt(filePath);
      int num[]=a.num1();
      for(int i=0;i<52;i++)
      {
       if(i<=25)
        System.out.println((char)(i+'a')+" "+num[i]);
       else System.out.println((char)(i+'A'-26)+" "+num[i]);
      }
     }
    }
  • 相关阅读:
    sublime中node测试环境
    常用的win dos命令
    html area图片热点
    Git常用指令整理(Git Cheat Sheet)
    Java研发技术学习路线
    编程+工具基础教程|网站整理
    廖雪峰 Git 教程 + Git-Cheat-Sheet 学习总结
    现成的HTML5框架
    记录下自己学习的点滴-开始写博客
    linux查看日志文件
  • 原文地址:https://www.cnblogs.com/990906lhc/p/9775357.html
Copyright © 2011-2022 走看看