基本思路:
1.从键盘获取一个字符串;
2.创建一个集合Map<字符,次数>,键来存我们的字符,值来表示次数;
3.遍历字符串中的每个字符;
4.判断Map集合有没有我们的这个字符:
有,说明集合里面有或者我们之前已经出现过了,直接对值进行加1,++操作;
没有,首先把字符存进去,然后直接次数加1;(之前没有:0,1)count++/1.
代码实现:
import java.util.HashMap;
import java.util.Scanner;
public class DemoString {
public static void main(String[] args) {
System.out.println("请输入一个字符串:");
String line = new Scanner(System.in).nextLine();
findChar(line);
}
private static void findChar(String line) {
//创建集合
HashMap<Character,Integer> map = new HashMap<Character, Integer>();
for (int i = 0; i < line.length(); i++) {
char c = line.charAt(i);
if (!map.containsKey(c)) {
// 没有,先把字符存进去,然后直接次数加1;(之前没有:0,1)count++/1
map.put(c,1);
}else{
//获取次数,之前次数 1
Integer count= map.get(c);
map.put(c,++count);
}
}
System.out.println(map);
}
}
运行结果: