| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 380 人关注过本帖
标题:看看哪里错了
只看楼主 加入收藏
suckdog
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-9-19
结帖率:41.67%
收藏
已结贴  问题点数:10 回复次数:2 
看看哪里错了
输出单词里出现最频繁的字母, 为什么程序总是瘫痪
    public char mostFrequent()
    {
        int count=0;
        int maxCount=0;
        char frequent='a';
        char[] nameArray;
        char one, two;
        int l=0, p=1;
        String str1=line.toLowerCase();
        nameArray=str1.toCharArray();
        
        for(int i=0; i<line.length(); i++)
        {     
         for(int t=0; t<line.length(); t++)
            {
            one=nameArray[i];
            two=str1.substring(l, p).toLowerCase().charAt(0);
            if(one==two)
               count++;  
             l++;
                p++;

         }
         if(count>maxCount)
            {
            maxCount=count;
            frequent=nameArray[i];
         }
        }
        return frequent;
    }
2009-10-27 16:04
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:5 
你的问题出在count--->一直都在加
    for(int i=0; i<line.length(); i++)   
        {   
            int count=0;   //放这里。外循环第(2、3、4、5....)次的时候重新统计

C#超级群 74862681,欢迎大家的到来!
2009-10-27 17:11
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
收藏
得分:5 
这题用正则表达式做,不用这么麻烦

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2009-10-27 17:49
快速回复:看看哪里错了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041014 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved