l楼主看看我的解法,绝对符合你的要求-  public static void main(String[] args) {
 
 -                 String str="jfiowqfnvmcafjkdslamnzvcvcxz";//随便定义字符串
 
 -                 char[]str_ch=str.toCharArray();//把字符串转换为字符数组
 
 -                 char ch[]={'a','b','c','d','e','f','g','h','i','j','k','l',
 
 -                                 'm','n','o','p','q','r','s','t','u','v','w','x','y','z'};//定义26个字母字符数组
 
 -                 int num[]=new int[26];//定义一个长度为26的整形数组用来为每个字母计数
 
 -                 for (int i = 0; i < str_ch.length; i++) {
 
 -                         for (int j = 0; j < ch.length; j++) {
 
 -                                 if(ch[j]==str_ch[i]){//两层for循环进行比对
 
 -                                         num[j]++;//计数
 
 -                                 }
 
 -                         }
 
 -                 }
 
 -                 for (int i = 0; i < num.length; i++) {
 
 -                         if(num[i]!=0){//如果等于0就是在字符串中没有出现过
 
 -                                 System.out.print(ch[i]+"["+num[i]+"], ");//打印
 
 -                         }
 
 -                 }
 
 -          }
 
  复制代码 运行结果 
a[2], c[3], d[1], f[3], i[1], j[2], k[1], l[1], m[2], n[2], o[1], q[1], s[1], v[3], w[1], x[1], z[2],  |