如何在 Java 中打印字符串中出现次数最多的字符?

javaobject oriented programmingprogramming更新于 2024/5/9 20:45:00

可以使用 String  类来表示 字符串,Java 程序中的所有字符串文字都作为 String  类的实例实现。字符串是常量,其值一旦创建就无法更改(不可变)

在下面的程序中,我们可以打印给定字符串的 出现次数最多的字符

示例

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

输出

t = 1
A = 2
1 = 3

相关文章