VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Java教程 >
  • Java任意一个字符串找到出现最多的字符并输出其次数

给任意一个字符串找到出现最多的字符并输出其次数
思路 : 将所有的字符串分开放入一个List集合中然后进行排序,将该字符第一次出现的地方与最后一次出现的地方进行相减然后加一则就可以计算出当前字符出现的次数。

import java.util.*;

public class H6 {
    public static void main(String[] args) {
        String str = "afhgkjdhghgkshwaaaaabbb";
        List<String> list = new ArrayList<>();
        //进行遍历将字符串分开放入list集合中
        for (int i = 0; i < str.length(); i++) {
            list.add(String.valueOf(str.charAt(i)));
        }
        //将集合进行a-z的顺序排序
        list.sort(String::compareTo);

        int num = 0;
        int temp;
        String str3 = null;
        //遍历集合的每一个元素
        for (int i = 0; i < list.size(); i++) {
            int min = list.indexOf(list.get(i));//该元素第一次出现的位置
            int max = list.lastIndexOf(list.get(i));//该元素最后一次出现的位置
            i = max;//从下一个字符开始遍历,避免重复
            temp = max - min + 1;//出现的次数
            if (temp == num) {
                str3 += list.get(i) + " ";
            }
            if (temp > num) {
                num = temp;
                str3 = list.get(i) + " ";
            }
        }
        System.out.println("出现最多的字母是:" + str3 + "\t出现最次数为:" + num);
    }
}
 
出处:https://www.cnblogs.com/sulishijian/p/15125620.html


相关教程