回答
只是有一個每個字符和他們的計數的映射。您可以使用String#toCharArray()
獲得String
的字符數組,並使用enhanced for loop循環訪問它。在每次迭代中,從映射中獲取計數,如果沒有,則設置它,然後用1遞增並放回地圖。非常簡單。
這裏有一個基本的開球例如:
String string = "I am really busy right now";
Map<Character, Integer> characterCounts = new HashMap<Character, Integer>();
for (char character : string.toCharArray()) {
Integer characterCount = characterCounts.get(character);
if (characterCount == null) {
characterCount = 0;
}
characterCounts.put(character, characterCount + 1);
}
要了解更多有關地圖,檢查Sun tutorial on the subject。
你的評論,這是「一個項目」,但但它是一個典型的家庭作業的問題,因爲它是非常基本的和蓋在一個體面的Java書/教程的第一章。如果你是Java新手,我建議你通過Sun Trails Covering the Basics。
一個字符不再是一個字符,不幸的是。 – 2010-05-31 00:36:04
作業嗎?如果不知道,我會盡力回答。
您的問題背後的邏輯是
- 去trought列表中的一個角色在時間
- 計數字符:因爲可能的字符(不包括Unicode)的僅僅是256,你可以有256
int
數組並在那裏計數:通過這種方式,您不需要搜索正確的計數器,只需增加正確的索引即可。
不,我只需要它爲我的項目 – terence6 2010-05-31 00:00:53
我不知道您的具體需求,但它似乎要算不管發生的情況下,也可能忽略的字符,如空格等,所以,你可能想是這樣的:
String initial = "I am really busy right now";
String cleaned = initial.replaceAll("\\s", "") //remove all whitespace characters
.toLowerCase(); // lower all characters
Map<Character, Integer> map = new HashMap<Character, Integer>();
for (char character : cleaned.toCharArray()) {
Integer count = map.get(character);
count = (count!=null) ? count + 1 : 1;
map.put(character, count);
}
for (Map.Entry<Character, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
調整正則表達式以滿足您的確切要求(跳過標點符號等)。
- 1. Android:獲取其編號的字符串
- 2. 從字符串獲取編號
- 3. 從括號,括號和連字符的字符串中獲取子字符串
- 4. 從符號讀取字符串以從字符串符號
- 5. 從字符串中讀取字符或從字符串中獲取字符
- 6. 如何從涉及其他字符的字符串中獲取int?
- 7. 獲取字符串中包含的所有字符串
- 8. 在JavaScript中獲取字符串的所有子字符串
- 9. 獲取字符串中所有子字符串的出現
- 10. REGEX獲取字符串中的所有數字,即使其他字符在
- 11. 獲取strings.xml中的所有字符串
- 12. 從字符串獲取子字符串__
- 13. BATCH編程 - 從字符串中獲取編號
- 14. AS3:從指定數組中的字符串中獲取所有子字符串
- 15. 當字符串有符號時從字符串獲取數據類型
- 16. 從字符串中提取符號
- 17. 從其他字符串獲取字符串匹配()
- 18. 從字符串獲取數字和html實體編號除外
- 19. 獲取從字符串中的所有字,直到某個詞
- 20. 如何從字符串中獲取所有數字
- 21. 在sql中獲取字符串的所有唯一字符
- 22. 從字符串中刪除所有非字字符(標點符號)
- 23. PHP - 獲取所有字符的字符
- 24. Debug.WriteLine及其字符編碼
- 25. 從字符串中提取所有出現的特定字符
- 26. 從字符串獲取n個字符
- 27. 從字符串獲取特定字符
- 28. 正則表達式獲取字符串中的所有號碼?
- 29. 在字符串中獲取字符串
- 30. 返回字符串中的第一個字符,其編號爲
定義「字符」。它是一個32位的Unicode代碼點嗎?它可以有所作爲。 – 2010-05-31 00:08:30
這可以很好地作爲一個非常簡單的代碼kata :) – 2010-05-31 01:32:03