• 统计英文文章单词出现的频率


    package 统计英文字母出现频率;
    import java.io.*;
    import java.io.File.*;
    import java.util.Scanner;
    public class Collect {
      public static void readFileByChars(String fileName) {
             File file = new File(fileName);
             Reader reader = null;
             try {
              char [] value = new char[20];
              int [] amount = new int[20];
              for(int i = 0; i< 20;i++)
              { amount[i] = 0;}
              
                 reader = new InputStreamReader(new FileInputStream(file));
                 for(int i = 0;i < 20 ;i++)               
                   {value[i] = (char) reader.read();}
                
                 for(int j = 0 ;j < 20 ;j ++)
                 {
                  for(int k = j+1 ; k < 20 ; k++) {
                   if(value[k]==value[j]){
                    amount[j]++;
                   }
                   else if(value[j]==value[j+1]) {
                    j++;break;
                   }
                   else break;
                  }
                 }
                 int temp=0;
                 for(int i = 0;i < 20;i++)
                 {
                  for(int j = i+1 ; j < 20 ; j ++) {
                   if(amount[j]>amount[i]) {
                    temp = j;
                   }
                   else temp = i;
                  }
                 }
          
                 System.out.println("出现最多次数的字母:"+value[temp]+"其出现的次数:"+amount[temp]);  
                 reader.close(); 
             } catch (Exception e) {
                 e.printStackTrace();//抛异常
             }
            
      }
      public static void main(String args[]) {
       readFileByChars("file.txt");
      }
     
     
    存在的很大问题,对于读写文件,查了半天资料也刚刚了解,在网上找到了一段读取文件的代码,勉强看得懂。可以实现一个个字符保存到value数组中,但是对于重复的字符没有筛选功能,所以只能够实现统计单词出现的次数。但是对于重复的字符没有筛选功能,字符数组建多大也一直迷糊。至于出现的频率,我用amoun数组实现,但是存在一点小小的问题。对于数组的比较本来是一个很简单的循环问题,但是在这里不知道为什么实现的很慢,而且思维比较混乱。在这个程序的编写中,还向以往那样,没有模块化,没有用类来实现,还是用了一抹都在主函数里边实现,对于for循环语句用的次数太多,导致代码太复杂,运行很复杂。对于文件的操作这一块的内容,课后还要狠狠的下功夫,真是书到用时方恨少啊,代码到用时才发现自己什么都不会
  • 相关阅读:
    SpringBoot中如何优雅的使用多线程
    ASP.NET MVC经典项目ProDinner项目解析(5)
    ASP.NET MVC经典项目ProDinner项目解析(4)
    ASP.NET MVC经典项目ProDinner项目解析(1)
    ASP.NET MVC经典项目ProDinner项目解析文章索引
    致我们工作中的设计模式之备忘录模式
    致我们工作中的设计模式之适配器模式
    ASP.NET MVC经典项目ProDinner项目解析(3)
    童话进行中的Silverlight
    致我们工作中的设计模式之基本原则职责单一原则
  • 原文地址:https://www.cnblogs.com/zjl-0217/p/9775013.html
Copyright © 2020-2023  润新知