Java 算法訓練 統計單詞數

題目:輸入一段英文句子統計他的每一個單詞數。

例如輸入:

在這裏插入圖片描述

輸出:

在這裏插入圖片描述

結題思路:

運用HashMap的映射關係遍歷每一個鍵,遍歷到哪個鍵就給哪個鍵的值+1,從而達到統計的作用。

代碼如下:

public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in); // 輸入一個英文句子
        String str = scanner.nextLine().replace(".",""); // 將句號去掉  
        String[] split = str.split("\\s"); // 將輸入的str字符串一空格分開存入一個String數組中
        HashMap<String, Integer> map = new HashMap<>();
        
        for (int i = 0; i < split.length; i++) {
            map.put(split[i],0);  // 爲每一個單詞創建一個map
        }
        
        for (int i = 0; i < split.length; i++) {
            map.put(split[i],map.get(split[i])+1); // 遍歷HashMap的每一個鍵,遍歷到哪個鍵就給哪個鍵的值+1,從而達到統計的作用。
        }
       
        for (int i = 0; i < split.length; i++) { // 輸出
            if (String.valueOf(map.get(split[i])).equals("null")){
                continue;
            }
            else {
                String sum = "";
                for (int j = 0; j < map.get(split[i]); j++) {
                    sum = sum +"*";
                }
                System.out.println(split[i].toUpperCase()+":"+sum+map.get(split[i]));
                map.remove(split[i]);

            }
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章