代码改变世界

工程项目作业1(输出文件中字母的个数)

2018-10-11 22:31  一念永恒s  阅读(268)  评论(0编辑  收藏  举报
  1 package 字母频率统计;
  2 import java.io.*;
  3 public class Inputfile {
  4     public static void main(String args[]) {
  5         try {
  6             char shu[] = new char[1000];
  7             char zimu[] = new char[52];
  8             int j=0;
  9             int count[]=new int[52];
 10             String pathname="D:\\a.txt";
 11             File filename=new File(pathname);
 12             InputStreamReader reader=new InputStreamReader(new FileInputStream(filename));
 13             BufferedReader br=new BufferedReader(reader);
 14             String line[]=new String[100];;    
 15             for(int i=0;i<line.length;i++){
 16             line[i]=br.readLine();    
 17             }
 18             br.close();
 19             int k=0;
 20              while(line[k]!=null) {
 21                  for(int i=0;i<line[k].length();i++) {                                
 22                       shu[j]=line[k].charAt(i);
 23                       j++;                     
 24                  }
 25                  k++;
 26             }    
 27             for(int i=0;i<shu.length;i++) {
 28                  switch(shu[i]) {
 29                  case 'a':zimu[0]='a';count[0]++;break;
 30                  case 'b':zimu[1]='b';count[1]++;break;
 31                  case 'c':zimu[2]='c';count[2]++;break;
 32                  case 'd':zimu[3]='d';count[3]++;break;
 33                  case 'e':zimu[4]='e';count[4]++;break;
 34                  case 'f':zimu[5]='f';count[5]++;break;
 35                  case 'g':zimu[6]='g';count[6]++;break;
 36                  case 'h':zimu[7]='h';count[7]++;break;
 37                  case 'i':zimu[8]='i';count[8]++;break;
 38                  case 'j':zimu[9]='j';count[9]++;break;
 39                  case 'k':zimu[10]='k';count[10]++;break;
 40                  case 'l':zimu[11]='l';count[11]++;break;
 41                  case 'm':zimu[12]='m';count[12]++;break;
 42                  case 'n':zimu[13]='n';count[13]++;break;
 43                  case 'o':zimu[14]='o';count[14]++;break;
 44                  case 'p':zimu[15]='p';count[15]++;break;
 45                  case 'q':zimu[16]='q';count[16]++;break;
 46                  case 'r':zimu[17]='r';count[17]++;break;
 47                  case 's':zimu[18]='s';count[18]++;break;
 48                  case 't':zimu[19]='t';count[19]++;break;
 49                  case 'u':zimu[20]='u';count[20]++;break;
 50                  case 'v':zimu[21]='v';count[21]++;break;
 51                  case 'w':zimu[22]='w';count[22]++;break;
 52                  case 'x':zimu[23]='x';count[23]++;break;
 53                  case 'y':zimu[24]='y';count[24]++;break;
 54                  case 'z':zimu[25]='z';count[25]++;break;
 55                  case 'A':zimu[26]='A';count[26]++;break;
 56                  case 'B':zimu[27]='B';count[27]++;break;
 57                  case 'C':zimu[28]='C';count[28]++;break;
 58                  case 'D':zimu[29]='D';count[29]++;break;
 59                  case 'E':zimu[30]='E';count[30]++;break;
 60                  case 'F':zimu[31]='F';count[31]++;break;
 61                  case 'G':zimu[32]='G';count[32]++;break;
 62                  case 'H':zimu[33]='H';count[33]++;break;
 63                  case 'I':zimu[34]='I';count[34]++;break;
 64                  case 'J':zimu[35]='G';count[35]++;break;
 65                  case 'K':zimu[36]='K';count[36]++;break;
 66                  case 'L':zimu[37]='L';count[37]++;break;
 67                  case 'M':zimu[38]='M';count[38]++;break;
 68                  case 'N':zimu[39]='N';count[39]++;break;
 69                  case 'O':zimu[40]='O';count[40]++;break;
 70                  case 'P':zimu[41]='P';count[41]++;break;
 71                  case 'Q':zimu[42]='Q';count[42]++;break;
 72                  case 'R':zimu[43]='R';count[43]++;break;
 73                  case 'S':zimu[44]='S';count[44]++;break;
 74                  case 'T':zimu[45]='T';count[45]++;break;
 75                  case 'U':zimu[46]='U';count[46]++;break;
 76                  case 'V':zimu[47]='V';count[47]++;break;
 77                  case 'W':zimu[48]='W';count[48]++;break;
 78                  case 'X':zimu[49]='X';count[49]++;break;
 79                  case 'Y':zimu[50]='Y';count[50]++;break;
 80                  case 'Z':zimu[51]='Z';count[51]++;
 81                  }
 82             }    
 83             int ci=0;
 84             int sum=0;
 85             System.out.println("短文中各字母出现情况统计如下:");
 86             for(int i=0;i<52;i++)
 87             {
 88                 if(count[i]!=0) {
 89                     ci++;
 90                     sum+=count[i];
 91                     System.out.println(ci+".字母"+zimu[i]+"的出现次数是:"+count[i]);
 92                     }
 93             }   
 94             System.out.println("字母共计:"+sum+"个");
 95         }catch (Exception e) {
 96             e.printStackTrace();
 97         }
 98     }
 99 

刚开始拿到问题没有什么思路,是参考别人的代码写下来的,在整个过程中学到了文件的输入和输出,还算是有收获,希望能再做后一步的调整,进行更加的完善