统计一个字符串中每个字符出现的次数

用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());
		}
		
		
		
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_44519263/article/details/88672117