任意输入一串字符串,求该字符串中字符的出现次数并打印出来,如输入“bcaba”输出:b 2 c 1 a 2

时间:2023-03-09 21:30:08
任意输入一串字符串,求该字符串中字符的出现次数并打印出来,如输入“bcaba”输出:b 2 c 1   a 2

前言:其实我还是有点不懂,有点郁闷了,算了直接把代码放上去把。

方法一:

Scanner input=new Scanner(System.in);
System.out.println("请输入一个字符");
String str=input.next(); char[] strChar=str.toCharArray();
//声明集合,把之存在集合中
Map<Character,Integer> map=new HashMap<>(); for(int i=0;i<strChar.length;i++){
if(map.containsKey(strChar[i])){
map.put(strChar[i],map.get(strChar[i])+1);
}else{
map.put(strChar[i],1);
}
} for(Map.Entry<Character, Integer> entry: map.entrySet()){
System.out.println(entry.getKey()+":"+entry.getValue());
}
input.close();

方法二:

 Scanner input=new Scanner(System.in);
System.out.println("请输入一个字符");
String str=input.next(); //声明集合,把之存在集合中
Map<Character,Integer> map=new HashMap<>(); for(int i=0;i<str.length();i++){
if(map.containsKey(str.charAt(i))){//如果此映射将一个或多个键映射到指定值,则返回 true。
map.put(str.charAt(i),map.get(str.charAt(i))+1);
}else{
map.put(str.charAt(i),1);
}
} for(Map.Entry<Character, Integer> entry: map.entrySet()){
System.out.println(entry.getKey()+":"+entry.getValue());
}
input.close();