//获取字符串每个字符并输出个数
class demo3{
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.print("请输入字符串:");
String s =sc.nextLine();
Integer values;
HashMap<Character,Integer> h =new HashMap<>();
for (int i = 0; i < s.length(); i++) {
char c =s.charAt(i);
values =h.get(c);
if (values==null){
h.put(c,1);
}
else {
values++;
h.put(c,values);
}
}
int[] c =new int[50];
char[] d =new char[50];
int j =0;
int k;
int z =0;
char l;
for (Map.Entry<Character,Integer> a:h.entrySet()) {
c[j] =a.getValue();
j++;
d[z] =a.getKey();
z++;
}
for (int p = 0; p < c.length-1; p++) {
for (int i = 0; i < c.length-1-p; i++) {
if (c[i]<=c[i+1]){
k =c[i];
c[i] =c[i+1];
c[i+1] =k;
l =d[i];
d[i] =d[i+1];
d[i+1] =l;
}
}
}
for (int i = 0; i <c.length; i++) {
if (c[i]!=0)
System.out.println("字符"+d[i]+"的长度是:"+c[i]);
}
}
}
输出结果(用了冒泡排序):
请输入字符串:ajc aw !@214!#($UI)_/-+
字符 的长度是:2
字符!的长度是:2
字符a的长度是:2
字符2的长度是:1
字符1的长度是:1
字符/的长度是:1
字符-的长度是:1
字符+的长度是:1
字符j的长度是:1
字符)的长度是:1
字符I的长度是:1
字符(的长度是:1
字符$的长度是:1
字符#的长度是:1
字符c的长度是:1
字符@的长度是:1
字符_的长度是:1
字符w的长度是:1
字符U的长度是:1
字符4的长度是:1