A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© pthuakai 中级黑马   /  2013-4-24 10:54  /  1372 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 pthuakai 于 2013-4-24 15:51 编辑

我想得到一个字符数组中,每个元素出现的次数,但是下面的代码却没有输出。求帮忙改改代码
* public static void main(String[] args)
        {
                int count=0;
                char[] chs={'a','b','a','c','c','e','b'};
                for(int i=0;i<chs.length;i++)
                {
                         char key=chs;
                         for(int k=i+1;k<chs.length;k++)
                         {
                                 while(key==chs[k])
                                         count++;
                                 
                         }
                         System.out.println(key+count);
                }
               
        }

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

5 个回复

倒序浏览
飘过.....
手写给你一个凑合着看

public static void main(String[] args)
{
int Ans[26];//大写
int ans[26];//小写
char[] chs={'a','b','a','c','c','e','b'};
                for(int i=0;i<chs.length;i++)
                {
                         char key=chs[i];
                         if(key>='A'&&key<'Z')  Ans[key-'A']++;
                         else  ans[key-'a']++;

                }
// 打印 Ans  ans
for(int i=0;i<26;i++)
System.out.print((char)(i+'A')+":"+Ans[i]+"  ");
System.out.println();
//ans 同上
}

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
  1. class Test{
  2.        
  3.         public static void main(String[] args)
  4.     {   
  5.             char[] chs={'a','b','a','c','c','e','b'};
  6.             for(int i=0;i<chs.length;i++)
  7.             {
  8.                              int count = 0;        //不应该定义在循环外,要每次获得key的次数就归零,否则会累加
  9.                      char key=chs[i];
  10.                      for(int k=0;k<chs.length;k++)//此时应该遍历整个数组才能得到key在数组中的个数,否则得到的是i之后key的个数
  11.                      {
  12.                              if(key==chs[k])//不应该用while循环,应为条件符合的时候他就一直循环,形成了死循环,所以程序无输出;因该用if表判断
  13.                                      count++;         
  14.                      }
  15.                      System.out.println(key+""+count);//输出的时候不应该直接key+count,会直接输出一个int的
  16.             }      
  17.     }
  18. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
  1. public static void main(String[] args) {
  2.                 char[] chs = { 'a', 'b', 'a', 'c', 'c', 'e', 'b' };
  3.                 String a = new String(chs);
  4.                 while (a.length() != 0) {
  5.                         int sum = 0;
  6.                         int x = 0;
  7.                         String b = String.valueOf(a.charAt(x));

  8.                         for (int y = 0; y < a.length(); y++) {
  9.                                 if (a.contains(b)) {
  10.                                         sum++;
  11.                                         y--;
  12.                                         a = a.replaceFirst(b, "");
  13.                                 }
  14.                         }
  15.                         System.out.println(b + "出现次数是:" + sum);
  16.                 }
  17.         }
复制代码
今天在看String,就转换成String做了做{:soso_e113:}

回复 使用道具 举报
  1. String str= "abdadafdadfa";
  2.                 Map<String, Integer> times = new TreeMap<String, Integer>();
  3.                 for (int i = 0; i < str.length(); i++) {
  4.                         // 如果在里面就将次数+1;
  5.                         if (times.containsKey(str.charAt(i)+"")) {
  6.                                 int time = times.get(str.charAt(i)+"");
  7.                                 times.put(str.charAt(i) + "", time + 1);
  8.                         } else {
  9.                                 times.put(str.charAt(i) + "", 1);// 第一次存入该集合;
  10.                         }
  11.                 }
  12.                 for (Map.Entry<String, Integer> entry : times.entrySet()) {
  13.                         System.out.println("字符" + entry.getKey() + "出现" + entry.getValue()
  14.                                         + "次");
  15.                 }
复制代码
这是我的代码,希望可以帮到你,只要有思路,就不怕写不出代码;
回复 使用道具 举报
谢谢了啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马