Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách in ký tự xuất hiện nhiều nhất trong chuỗi Java?

Lớp String đại diện cho chuỗi ký tự, các chữ hằng chuỗi trong Java được triển khai như instance của lớp String. Chuỗi là hằng số và giá trị không thể thay đổi (immutable) sau khi tạo.

Chương trình dưới đây in ký tự xuất hiện nhiều nhất của chuỗi cho trước.

Ví dụ

public class MaxOccuredCharacterTest { 
    public static void main(String[] args) { 
        String str1 = maxOccuredChar("tutorialspoint"); 
        System.out.println(str1); 
        String str2 = maxOccuredChar("AABBAABBCCAABBAA"); 
        System.out.println(str2); 
        String str3 = maxOccuredChar("111222333444333222111"); 
        System.out.println(str3); 
    } 
    
    public static String maxOccuredChar(String str) { 
        char[] array = str.toCharArray(); 
        int maxCount = 1; 
        char maxChar = array[0]; 
        for(int i = 0, j = 0; i < str.length() - 1; i = j) { 
            int count = 1; 
            while(++j < str.length() && array[i] == array[j]) { 
                count++; 
            } 
            if (count > maxCount) { 
                maxCount = count; 
                maxChar = array[i]; 
            } 
        } 
        return (maxChar + " = " + maxCount); 
    } 
}

Kết quả

t = 1 A = 2 1 = 3