JAVASE字符串

墨黑黑 2019-08-22 10:03:06
.有一个字符串 ECALIYHWEQAEFSZC"请写程序找出其中有多少种字符,每种字符有几个并打印出来例如:A:2个,B:3个,D:4。求大神给个解答
...全文
147 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
朝霞清辉 2019-08-27
  • 打赏
  • 举报
回复
使用map就是了
lingjojo 2019-08-27
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复

String str="ECALIYHWEQAEFSZC";
char[] arr=str.toCharArray();
Map<Character,Integer> result=new HashMap<Character,Integer>();
for(int i=0,len=arr.length;i<len;i++){
if(!result.containsKey(arr[i])){
result.put(arr[i], len-str.replace(arr[i]+"","").length());
}
}
  • 打赏
  • 举报
回复
public class Test {
public static void main(String[] args) {
String str = "ECALIYHWEQAEFSZC";
//声明Map类型变量,key存储字符串的每个字符,value存储字符对应的次数。
Map<Character,Integer> chMap = new HashMap<Character,Integer>();
int length = str.length();
for(int i=0;i<length;i++) {
Character ch = str.charAt(i);
if(chMap.get(ch) == null) {
chMap.put(ch, 1);
}else {
Integer count = chMap.get(ch);
chMap.put(ch, ++count);
}
}
System.out.println(chMap);//打印结果
}
}

打印结果:

写完之后才看了楼上的代码,看来大家的思路都差不多
qq_39936465 2019-08-23
  • 打赏
  • 举报
回复
引用 楼主 墨黑黑 的回复:
.有一个字符串 ECALIYHWEQAEFSZC"请写程序找出其中有多少种字符,每种字符有几个并打印出来例如:A:2个,B:3个,D:4。求大神给个解答

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;

public class test3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Map<Character, Integer> map=new HashMap<Character, Integer>();
		String str="ECALIYHWEQAEFSZC";
		char[]  c=str.toCharArray();
		for (char i:c) {
			if(map.containsKey(i)) {
				map.put(i, map.get(i)+1);
			}else {
				map.put(i, 1);
			}
		}
		Iterator<Entry<Character, Integer>> entries=map.entrySet().iterator();
		while(entries.hasNext()) {
			Entry<Character, Integer> entry=entries.next();
			System.out.print(entry.getKey()+":"+entry.getValue()+"\t");
		}
	}
}


62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧