java 倒入一篇文章,显示每个字母的出现概率,从大到小排序

Posted 帅气的小土豆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 倒入一篇文章,显示每个字母的出现概率,从大到小排序相关的知识,希望对你有一定的参考价值。

 1 package com_1;
 2 import java.io.BufferedReader;
 3 import java.io.FileReader;
 4 import java.io.IOException;
 5 import java.math.BigInteger;
 6 import java.text.DecimalFormat;
 7 import java.util.ArrayList;
 8 import java.util.Comparator;
 9 import java.util.TreeMap;
10 import java.util.TreeSet;
11 public class Shuru2
12 {
13     public static void main(String [] args) throws IOException {
14         BufferedReader br=new BufferedReader(new FileReader("F:\\eclipse-workspace\\com_1\\src\\1.txt"));        
15         TreeMap<Character,Integer> hm=new TreeMap<>();
16         int  bb;
17         while((bb=br.read())!=-1) {    
18              if((bb>=‘A‘&&bb<=‘Z‘)||(bb>‘a‘&&bb<=‘z‘)) {
19                  hm.put((char)bb,hm.containsKey((char)bb)?hm.get((char)bb)+1:1);
20             }
21             
22             }    
23         br.close();
24         int max=0;
25         int sum=0;
26         int t=0;
27         for(Character k: hm.keySet()) {
28             sum=sum+hm.get(k);
29           }
30         TreeSet<Character> ts=new TreeSet<>(new Comparator<Character>()
31         {
32             public int compare(Character a,Character b) {
33                 int num=hm.get(a)-hm.get(b);
34                 return num==0?1:(-num);
35             }
36         });
37         for(Character k: hm.keySet()) {
38             ts.add(k);
39         }
40         DecimalFormat df = new DecimalFormat("0.00%");
41         for (Character c : ts)
42         {
43             float bai=(float)hm.get(c)/sum;
44            
45             System.out.println(c+" "+hm.get(c)+" "+df.format(bai));
46         }
47           
48         
49         
50         //System.out.println(sum);
51 }}

整个人都不好了

以上是关于java 倒入一篇文章,显示每个字母的出现概率,从大到小排序的主要内容,如果未能解决你的问题,请参考以下文章

从具有加权概率的列表中随机选择

计算地图减少中所有字母的出现概率

UVa 11468 Substring (AC自动机+概率DP)

Java 求解划分字母区间

2022-05-08:给你一个下标从 0 开始的字符串数组 words 。每个字符串都只包含 小写英文字母 。words 中任意一个子串中,每个字母都至多只出现一次。 如果通过以下操作之一,我们可以

《剑指offer》 面试题43 n个骰子的点数 (java)