`
lzh166
  • 浏览: 298005 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

给一个任意字符组成的字符串统计每个字符出现的次数

阅读更多
/**
	 * 给一个任意字符组成的字符串统计每个字符出现的次数,
	 * 例如:String str = "java@list#有中文啊,jiuzhemechangle",
	 * 要求只用一个for循环或while循环;
	 */
	
	public static void countChar(String str){
		//定义map类型的集合,以存放其字符及个数
		Map map = new HashMap();
		for(int i= 0; i < str.length(); i++){
			//设置key的值为字符串的唯一字符
			if(!map.containsKey(str.charAt(i))){
				map.put(str.charAt(i), 1);
			}else{
				//如果有重复的字符,则设置value的加1
				Integer k = (Integer)map.get(str.charAt(i));
				k++;
				map.put(str.charAt(i), k);
			}
		}
		//遍历map类型的集合方式之一:
		//先得到所有的Map.entrySet集合,并进行逐一遍历
		Set entrySet = map.entrySet();
		for (Iterator iterator = entrySet.iterator(); iterator.hasNext();) {
			Map.Entry entry = (Map.Entry) iterator.next();
			//通过每个Map.Entry对象得到其key和value的值
			System.out.println("字符‘"+entry.getKey()+"’出现了"+entry.getValue()+"次");
		}
	}


下面是调用的main方法:
public static void main(String[] args) {
		String str = "java@list#有中文啊,jiuzhemechangle";
		countChar(str);
	}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics