统计一个字符串中每个字符出现的次数
程序员文章站
2022-04-18 11:31:37
...
用replaceAll方法找出一个字符串每个字符串出现的次数
package cn.itacst.StringDemo;
import java.util.Scanner;
/*
* 获取字符出现的次数
*
* */
public class Execise {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
while(str.length()!=0){
//获取原字符串的长度
int oldLength=str.length();
//替换str中所有和c相同的字符
char c=str.charAt(0);
if(c=='+'){
str=str.replaceAll("\\"+c,"");
System.out.println(c+":"+(oldLength-str.length()));
}else{
str=str.replaceAll(c+"","");
System.out.println(c+":"+(oldLength-str.length()));
}
}
}
}
利用Map中元素不可重复的特性
package cn.tedu.demo01;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class MapPractice {
public static void main(String[] args) {
String str = new Scanner(System.in).nextLine();
// 创建一个map 'a' 2
Map<Character,Integer> map = new HashMap<>();
// 遍历字符串
for (int i = 0;i < str.length();i++){
// 获取到每一个字符
char c = str.charAt(i);
// map中的key和字符进行比较
if (map.containsKey(c)){
// 找到相同的字符
// 先获取key对应的value
Integer value = map.get(c);
value += 1;
map.put(c, value);
}else{
map.put(c, 1);
}
}
for (Map.Entry<Character, Integer> en : map.entrySet()){
System.out.println(en.getKey() +"出现的次数是" + en.getValue());
}
}
}
推荐阅读