程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> java-新手,求助大神快快現身!

java-新手,求助大神快快現身!

編輯:編程解疑
新手,求助大神快快現身!

給定一個字符串“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 + " 次");
}

希望對你有幫助!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved