給定一個字符串“today is a special day”,長度任意,要求找出其出現次數最多的字符及計算次數。老師說讓自己看幫助文檔,charactor,表示看不懂
思路:
1、將當前的字符串轉換為字符數組;
2、創建一個HashMap,key為每一個字符,value為字符出現的字數;
3、遍歷當前的數組,將數組中每一個不重復的字符作為HashMap對象中的key,判斷當前的HashMap對象中是否存在當前的key
1)若存在,取出對應的value,將value值加1後,再保存到對應的key上;
2)若不存在,則將當前的key值對應的value賦值為1;
4、遍歷統計結束的HashMap對象,取出所有key中value最大的對象即可;
代碼如下:
public static void main(String[] args) {
String string = "Thinking in Java";
char[] ch = string.toCharArray();
Map result = new HashMap();
for (int i = 0; i < ch.length; i++) {
if (result.containsKey(ch[i])) {
int count = result.get(ch[i]) + 1;
result.put(ch[i], count);
} else {
result.put(ch[i], 1);
}
}
Character maxChar = null;
Integer maxCount = 0;
for (Entry entry : result.entrySet()) {
if (entry.getValue() > maxCount) {
maxChar = entry.getKey();
maxCount = entry.getValue();
}
}
System.out.println("字符: " + maxChar + " 出現的字數最多,為 " + maxCount + " 次");
}
希望對你有幫助!