/*随意创建一字符串,打印出字符串中每个字符出现的次数
打印格式:[a(2),r(1),s(4),3(2),d(1),4(1),5(1),e(2),f(4),6(2),g(1),-(1)]
*/
public class CountChar {
public static void main(String[] args) {
//随意创建一个字符串
String s = "fsfsfsfs3da-35466geera";
//将字符串转换为字符数组
char[] ch = s.toCharArray();
//创建个HashSet集合用于存储字符,相同字符只只存储一次
HashSet<Character> hs = new HashSet<>();
//遍历数组,向集合中添加字符元素,同一字符只会添加一次
for (int i = 0; i < ch.length; i++) {
hs.add(ch);
}
//将集合转换为数组
Object[] obj = hs.toArray();
System.out.print("[");
//遍历集合数组,根据集合中的每一个字符与原先字符串每个字符进行对比,相同则+1,得到每个字符出现的次数
for (int i = 0; i < obj.length; i++) {
int k = 0;
char c = (char) obj;
for (int j = 0; j < s.length(); j++) {
if (s.charAt(j) == c) {
k++;
}
}
//打印字符串中字符出现次数
if (i == obj.length - 1) {
System.out.print(c + "(" + k + ")]");
} else {
System.out.print(c + "(" + k + "),");
}
}
}
}
|
|