解法一双重循环代码奉上import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Scanner; import java.util.StringTokenizer; public class Main { public static void main(String[] args) { Scanner sc new Scanner(System.in); String str sc.nextLine(); int len str.length(); int maxCount 0; char mostFrequency str.charAt(0); for(int i 0 ; ilen ; i){ char ch str.charAt(i); int currentCount 0; for(int j 0 ; jlen ; j){ if(str.charAt(j) ch ){ currentCount; } } if(currentCountmaxCount){ maxCount currentCount; mostFrequency str.charAt(i); } } System.out.println(mostFrequency); System.out.println(maxCount); } }解法二ASCLL码值27可改为26更加高效。第一个for循环是为了遍历每一个字符并给每一个字符计数第二个for循环是为了找出计数最多的字符并记录最大数量和字符import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc new Scanner(System.in); String str sc.nextLine(); int[] n new int[27]; int maxCount 0; char mostFrequency str.charAt(0); for(int i 0 ; i str.length() ; i){ n[str.charAt(i) - a]; } for(int j 0 ; j 26 ; j){ if(n[j]maxCount){ maxCount n[j]; mostFrequency (char)(aj); } } System.out.println(mostFrequency); System.out.println(maxCount); } }