欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 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());
		}
		
		
		
	}
}