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);
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM