패키지 test11을; 수입 java.io.FileInputStream의; 수입 때 java.io.IOException; 수입 java.io.InputStreamReader; 수입 java.text.DecimalFormat의; 수입 인 java.util.ArrayList; 수입 은 java.util.List; 공공 클래스 zimu { 공공 정적 무효 메인 (문자열 []에 인수) 던졌습니다 IOException가 { 목록 <정수> 목록 = 새로운 ArrayList를 <> (); DecimalFormat의 DF = 새 에 DecimalFormat ( "###### 0.00" ); FileInputStream에의 FIP = 새로운 FileInputStream에 ( "C : \\ 사용자 \\ DELL \\ 바탕 화면 \\ 해리 포터와 마법사의 Stone.txt" ); 리더 InputStreamReader = 새로운 InputStreamReader (FIP "GBK" ); StringBuffer와 SB = 새로운 StringBuffer를 (); 반면 (reader.ready ()) { sb.append (( 숯 ) reader.read ()); } reader.close (); fip.close (); int로 난; 문자열 = sb.toString (); 문자열 M = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ; 문자열 온도 = "" ; 숯 NUM [] = 새 문자 [A.length ()]; 문자 Z [] = 새 문자 [26 ]; INT X [= 새로운 INT [26 ]; INT MAX = 0 ; Z = M.toCharArray (); 대 ( INT에서 K = 0; K <26; k는 ++ ) { X [k는] = 0 ; 대 (I = 0; i가 A.length ()을 <; 내가 ++ ) { NUM [I] = A.charAt (I); 경우 (Z는 [K]를 NUM을 == [I] || Z [K] == CH (NUM [I])) { X [K] ++ ; } } } 에서 System.out.println ( "이 문서의 글자 수는있다 :" ); 배 합 = 0 ; 에서 System.out.println ( "排序如下:" ); 대 (I = 0; I는 <25; ++ I ) 대 ( INT K = 0; K <25 난; ++ 케이 ) { 경우 (X [K] <X [K + 1 ]) { INT TEMP2 = X [K]; X [K] = X의 [K + 1 ]; X [K +1] = TEMP2; 숯 TEMP3 = Z [K]; Z [K] = Z [K + 1 ]; Z [K + 1] = TEMP3; } } 대 (I = 0; I <26; i가 ++ ) { 합계 = 합계 + X [I]; } 대 (I = 0; I <26; ++ 난 ) { 이중 JKL = (X [I]) / 합계 * 100 ; 에서 System.out.println합니다 (Z는 [I]는 + "문자의 수는"X + [I] + " 문자 주파수 인"+ df.format (JKL) + "%" ); } } 정적 숯 CH ( 숯 c) { 만약 (! (c> = 97 && C <= 122 )) C + = 32 ; 반환 C를; } }