Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để in ký tự xuất hiện tối đa của một chuỗi trong Java?


A Chuỗi lớp có thể được sử dụng để đại diện cho chuỗi ký tự , tất cả các ký tự chuỗi trong chương trình Java được triển khai dưới dạng bản sao của Chuỗi Lớp. Chuỗi là hằng số và giá trị của chúng không thể thay đổi (không thể thay đổi) khi đã được tạo.

Trong chương trình dưới đây, chúng tôi có thể in ký tự xuất hiện tối đa của một chuỗi đã cho.

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

Đầu ra

t = 1
A = 2
1 = 3