方法一:
import java.util.Scanner;
/**
* @author zhou
* @date 20210313-2116
*/
public class WordAnalogy {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
char[] ch = scanner.nextLine().toCharArray();
int[] ans = new int[26];
// 统计字母出现的次数
for (int i = 0; i < ch.length; i++) {
ans[ch[i] - 'a']++;
}
char letter = 0;
int max = Integer.MIN_VALUE;
for (int i = 0; i < ans.length; i++) {
if (max < ans[i]) {
max = ans[i];
//最大次数
letter = (char) (i + 'a');
//转换为字符 (字母)
}
}
System.out.println(letter + "
" + max);
}
}
方法二
import java.util.*;
import java.util.stream.Collectors;
/**
* @author fat-cabbage
* @date 20210313-19010
*/
public class Test1900 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String strInput = scanner.nextLine();
ArrayList<Map<String, String>> list = new ArrayList<>();
for (String s : strInput.split("")) {
int index = getMapIndex(s, list);
Map<String, String> map;
if (index == -1) {
map = new HashMap<>();
map.put("string", s);
map.put("count", String.valueOf(1));
list.add(map);
} else {
map = list.get(index);
int count = Integer.parseInt(map.get("count"));
map.put("count", String.valueOf(count + 1));
}
}
list.sort((o1, o2) -> {
String o1Str = o1.get("string");
Integer o1Count = Integer.valueOf(o1.get("count"));
String o2Str = o2.get("string");
Integer o2Count = Integer.valueOf(o2.get("count"));
if (!o1Count.equals(o2Count)) {
return o2Count.compareTo(o1Count);
} else {
return o1Str.compareTo(o2Str);
}
});
System.out.println(list);
System.out.println(list.get(0).get("string"));
}
private static int getMapIndex(String string, ArrayList<Map<String, String>> list) {
System.out.print("string:" + string + ", list:" + list);
for (int i = 0; i < list.size(); i++) {
String thisIndexString = list.get(i).get("string");
if (thisIndexString.equals(string)) {
System.out.println(", return:" + i);
return i;
}
}
System.out.println(", return:-1");
return -1;
}
}