课堂读写文件实验一

package test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class ReadIO {
public static void main(String[] args) {
   
    int[] b= new int[52];
    char[] c= new char[52];
    String s1= null;
    File file = new File("C:\\Users\\lenovo\\Desktop\\Harry Potter and the Sorcerer's Stone.txt");
    try {
        FileReader    r = new FileReader(file);
        BufferedReader br = new BufferedReader(r);
            String s;
            while((s=br.readLine())!=null){ 
            s1=s;
            for(int i=0;i<s1.length();i++) {
                switch(s1.charAt(i)) {
                case 'a':c[0]='a'; b[0]++;break;
                case 'b':c[1]='b';b[1]++;break;
                case 'c':c[2]='c';b[2]++;break;
                case 'd':c[3]='d';b[3]++;break;
                case 'e':c[4]='e';b[4]++;break;
                case 'f':c[5]='f';b[5]++;break;
                case 'g':c[6]='g';b[6]++;break;
                case 'h':c[7]='h';b[7]++;break;
                case 'i':c[8]='i';b[8]++;break;
                case 'j':c[9]='j';b[9]++;break;
                case 'k':c[10]='k';b[10]++;break;
                case 'l':c[11]='l';b[11]++;break;
                case 'm':c[12]='m';b[12]++;break;
                case 'n':c[13]='n';b[13]++;break;
                case 'o':c[14]='o';b[14]++;break;
                case 'p':c[15]='p';b[15]++;break;
                case 'q':c[16]='q';b[16]++;break;
                case 'r':c[17]='r';b[17]++;break;
                case 's':c[18]='s';b[18]++;break;
                case 't':c[19]='t';b[19]++;break;
                case 'u':c[20]='u';b[20]++;break;
                case 'v':c[21]='v';b[21]++;break;
                case 'w':c[22]='w';b[22]++;break;
                case 'x':c[23]='x';b[23]++;break;
                case 'y':c[24]='y';b[24]++;break;
                case 'z':c[25]='z';b[25]++;break;
                case 'A':c[26]='A';b[26]++;break;
                case 'B':c[27]='B';b[27]++;break;
                case 'C':c[28]='C';b[28]++;break;
                case 'D':c[29]='D';b[29]++;break;
                case 'E':c[30]='E';b[30]++;break;
                case 'F':c[31]='F';b[31]++;break;
                case 'G':c[32]='G';b[32]++;break;
                case 'H':c[33]='H';b[33]++;break;
                case 'I':c[34]='I';b[34]++;break;
                case 'J':c[35]='J';b[35]++;break;
                case 'K':c[36]='K';b[36]++;break;
                case 'L':c[37]='L';b[37]++;break;
                case 'M':c[38]='M';b[38]++;break;
                case 'N':c[39]='N';b[39]++;break;
                case 'O':c[40]='O';b[40]++;break;
                case 'P':c[41]='P';b[41]++;break;
                case 'Q':c[42]='Q';b[42]++;break;
                case 'R':c[43]='R';b[43]++;break;
                case 'S':c[44]='S';b[44]++;break;
                case 'T':c[45]='T';b[45]++;break;
                case 'U':c[46]='U';b[46]++;break;
                case 'V':c[47]='V';b[47]++;break;
                case 'W':c[48]='W';b[48]++;break;
                case 'X':c[49]='X';b[49]++;break;
                case 'Y':c[50]='Y';b[50]++;break;
                case 'Z':c[51]='Z';b[51]++;break;
                }
                
            }
            }
     }catch(IOException e) {
         e.printStackTrace();
     }
    for(int i=0;i<52;i++) {
        for(int j=i+1;j<52;j++) {
            if(b[i]<b[j]) {
                char c1=c[i];
                int t=b[i];
                b[i]=b[j];
                c[i]=c[j];
                b[j]=t;
                c[j]=c1;
            }
        }
    }
    int sum= 0;
    for(int i=0;i<52;i++) {
        sum=b[i]+sum;
    }
    for(int i=0;i<52;i++) {
        System.out.printf(c[i]+"的个数为:"+b[i]+",占");
         System.out.printf("%.2f\n",b[i]*1.0/sum*100);
     }
       
}
}

实验截图:

判断语句我用的最笨的方法,用的switch语句来判断字母的出现个数,这种方法效率有点低。

猜你喜欢

转载自www.cnblogs.com/yangxionghao/p/11801175.html