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


可以使用 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

更新日期:2023 年 11 月 24 日

456 次浏览

开启您的职业生涯

完成课程,获得认证

开始吧
广告