方法:
1.键盘输入一个字符串
2.创建HashMap集合:键是Character,值是Interger
3.遍历字符串,抽取每一个字符
4.拿到的每一个字符作为键,到HashMap中找对应的值,看其返回值
①如果返回null,说明map中之前没有存入这个字符。将这个字符作为键,值设为1。
②如果返回不是null,说明map中之前有过了。将对应的值加1,然后重新存入这个键值对。
5.遍历Hashmap集合。
代码:
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class Scancharactor {
public static void main(String[] args)
{
//输入字符串,存入line
Scanner scopr = new Scanner(System.in);
String line = scopr.nextLine();
//创建HashMap:取名为hsm
HashMap<Character,Integer> hsm = new HashMap<Character,Integer>();
//遍历字符串
for(int i=0; i<line.length(); i++)
{
char key = line.charAt(i); //第i位置的字符提取出来,暂存在key中
if(hsm.get(key) == null){ //当前不存在key这个字符
hsm.put(key, 1);
}
else{ //当前存在key这个字符
hsm.put(key,hsm.get(key)+1);
}
}
//遍历map
Set<Map.Entry<Character,Integer>> entryset = hsm.entrySet();
for(Map.Entry<Character,Integer> cp : entryset)
{
Character key = cp.getKey();
Integer value = cp.getValue();
System.out.println("字符"+key+":"+value+"个");
}
}
}
测试:
版权声明:本文为GalaxyerKw原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。