需求:1、由用户输入任意一串字符串,要求算出该字符串中各个单词字符出现的次数。
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class StringCount {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入任意一串字符串:");
String str = scan.nextLine();
str = str.replaceAll("[\\W]", "");// 去除所有的非单词字符
Map<Character, Integer> map = new HashMap<Character, Integer>();// 创建Map集合,单词字符为键,出现次数为值
for (int i = 0; i < str.length(); i++) {
if (map.containsKey(str.charAt(i))) {// 集合中已包含该字符,则只需将该字符次数加1
map.put(str.charAt(i), map.get(str.charAt(i)) + 1);
} else {// 集合中不包含该字符,则需将该字符添加到集合中,初始出现次数值为1.
map.put(str.charAt(i), 1);
}
}
System.out.println(map);// 打印集合
scan.close();
}
}
运行结果: