題目:輸入一段英文句子統計他的每一個單詞數。
例如輸入:
輸出:
結題思路:
運用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]);
}
}
}