飘——英文版课堂测试一
课堂测试一
package word_show;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
 
public class word{
 
	public static void main(String[] args) throws IOException {
		try {
			//IO操作读取文件内容
			FileReader fr = new FileReader("D:\\\\QQ Download\\\\java\\\\piao_english.txt");
			BufferedReader br = new BufferedReader(fr);
			NumberFormat nf = NumberFormat.getInstance();
			 
			// 设置精确到小数点后2位
	 
			nf.setMaximumFractionDigits(2);
			HashMap<String, Integer> map = new HashMap<String, Integer>();
			
			String string =null;
			Integer count = 0;//每个字母的次数
			Integer total = 0;//总共多少个字母
			
			while ((string=br.readLine())!=null) {
				char[] ch = string.toCharArray();
				
				for (int i = 0; i < ch.length; i++) {
					if (ch[i] > 'A' && ch[i]< 'z') {
						
					total++;
					ch[i] = Character.toLowerCase(ch[i]);
					count = map.get(ch[i]+"");
					if (count == null) {
						count = 1;
					}else {
						count++;
					}
					map.put(ch[i]+"", count);
				}
				}
			}
			 ArrayList<String> list = new ArrayList<String>();
	         list.addAll(map.keySet());  //将单词添加到list中
	         
	         //排序按照出现次数降序排列
	         for(int i = 0;i < list.size();i++)
	         {
	             
	             for(int j = 0;j < (list.size() - i-1);j++)     //list.size() - i-1因为要用到i+1要考虑是否超出范围的问题
	             {
	                 
	                 if(map.get(list.get(j)) < map.get(list.get(j+1)))
	                 {
	                     String t = list.get(j);
	                     list.set(j, list.get(j+1));
	                     list.set( j+1, t);
	                 }
	             }
	         }
	         for(int i = 0 ; i < list.size();i++)
				{
					System.out.println(list.get(i) + ":" + map.get(list.get(i)) +"   "+ nf.format((float)(map.get(list.get(i)))*100/total) + "%");
				}
			
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
	}
}

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号