今天帶領大家學習
字元串中的每個字元個數的
統計方法
分析:
- 首先,使用Scanner擷取使用者輸入的一個字元串;
- 接着,周遊字元串,擷取每一個字元,String類的方法toCharArray,把每個字元串轉換為一個字元數組,周遊數組;
- 然後使用Map集合中的方法判斷擷取的字元是否存儲在Map集合中:使用Map集合中的方法containsKey(擷取到的字元),傳回的是boolean值,若為true,則字元存在,value值加一并儲存,若為false,則字元不存在,将字元作為key,value指派為1儲存到Map集合中去;
- 最後,周遊Map集合,輸出最終結果。
實作:
public class Bianli {
public static void main(String[] args) {
// 使用Scanner擷取使用者輸入的字元串
Scanner sc = new Scanner(System.in);
System.out.println("請輸入一個字元串:");
String str = sc.next();
// 穿件Map集合,key是字元串中的字元,value是字元的個數
HashMap<Character , Integer> map = new HashMap<>();
// 周遊字元串,擷取每一個字元
for(char c : str.toCharArray()){
if(map.containsKey(c)){
// key存在
Integer value = map.get(c);
value++;
map.put(c,value);
}else{
// key不存在
map.put(c,1);
}
}
// 周遊Map集合,輸出結果
for(Character key : map.keySet()){
Integer value = map.get(key);
System.out.println(key + "=" +value);
}
}
}
結果展示:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIwczX0xiRGZkRGZ0Xy9GbvNGL2EzXlpXazxSP9cnW1ZVbaVnRXFGNWhkYxokMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL5gTNwMDMzIjM2EzMwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
感謝您的閱讀,不足之處歡迎指正!