题目:输入一段英文句子统计他的每一个单词数。
例如输入:
输出:
结题思路:
运用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]);
}
}
}