Java程序练习-统计字符数


描述
判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多

输入
第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z这26个字符组成的字符串
每组测试数据之间有一个空行,每行数据不超过1000个字符且非空


输出
n行,每行输出对应一个输入。一行输出包括出现次数最多的字符和该字符出现的次数,中间是一个空格。
如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符


样例输入
2
abbccc

adfadffasdf
样例输出
c 3
f 4

  1. import java.util.*;  
  2. public class Main {  
  3.     public static void main(String[] args) {  
  4.         Scanner cin = new Scanner(System.in);  
  5.         int cases = cin.nextInt();  
  6.         cin.nextLine();  
  7.         while(cases > 0){  
  8.             int list[] = new int[256];  
  9.             String str = new String();  
  10.             str = cin.nextLine();  
  11.             if(str.length() == 0){  
  12.                 continue;  
  13.             }  
  14.             for(int i = 0;i < str.length();++ i){  
  15.                 ++ list[str.charAt(i)];  
  16.             }  
  17.             char ch = 'a';  
  18.             int max = 0;  
  19.             for(char i = 'a';i <= 'z';++ i){  
  20.                 if(list[i] > max){  
  21.                     max = list[i];  
  22.                     ch = i;  
  23.                 }  
  24.             }  
  25.             System.out.println(ch+" "+max);  
  26.             cases --;  
  27.         }  
  28.     }  
  29. }  

相关内容