首页 > 其他 > 详细

课堂测试-文本操作

时间:2019-11-06 22:32:25      阅读:82      评论:0      收藏:0      [点我收藏+]
package test3;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;

public class Frequency {
	public static void main(String[] args)throws IOException
	{
	    List<Integer> list=new ArrayList<>();
	    DecimalFormat df=new DecimalFormat("######0.00");  
	     FileInputStream fip = new FileInputStream("C:\\Users\\hp\\Desktop\\信1805-3 班 20183791 马苗苗\\test3\\src\\test3\\file");
	    InputStreamReader reader = new InputStreamReader(fip, "gbk");
	    StringBuffer sb = new StringBuffer();
	    while (reader.ready()) {
	        sb.append((char) reader.read());
	    }
	    //System.out.println(sb.toString());
	    reader.close();
	    fip.close();
	    
	    int i;
	    String A=sb.toString();
	    String M="abcdefghijklmnopqrstuvwxyz";
	   String temp = "";
	    char NUM[]=new char[A.length()];
	    char Z[]=new char[26];
	    int X[]=new int[26];
	    int MAX=0;
	    Z=M.toCharArray();
	    for(int k=0;k<26;k++)
	    {
	        X[k]=0;
	    for(i=0;i<A.length();i++)
	    {
	        NUM[i]=A.charAt(i);
	        if(Z[k]==NUM[i]||Z[k]==ch(NUM[i]))
	        {
	            X[k]++;
	        }
	    }
	    }
	    System.out.println("这篇文章中英文字母个数分别为:");
	    
	    double sum=0;
	    System.out.println("////////////排序如下:");
	    for(i=0;i<25;i++)
	        for(int k=0;k<25-i;k++)
	        {
	            if(X[k]<X[k+1])
	            {
	                int temp2=X[k];
	                X[k]=X[k+1];
	                X[k+1]=temp2;
	                char temp3=Z[k];
	                Z[k]=Z[k+1];
	                Z[k+1]=temp3;
	            }
	        }
	    for(i=0;i<26;i++) {
	    	sum=sum+X[i];
	    }
	    for(i=0;i<26;i++)
	    {
	    	double jkl=(X[i])/sum*100;
	    	
	    	System.out.println(Z[i]+"字母个数为:"+X[i]+"字母频率为:"+df.format(jkl)+"%");
	    	
	    }
	    
	    
	    
	}
	static char ch(char c)
	{
	    if(!(c>=97&&c<=122))
	        c+=32;
	    return c;
	}

}

  技术分享图片

 

课堂测试-文本操作

原文:https://www.cnblogs.com/mxk123456/p/11808819.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!