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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 贺洪京 黑马帝   /  2011-11-9 11:08  /  1622 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package cn.itcast.www;
public class Search {
        public static void main(String[] args) {
       char arrays[]=new char[]{'h','e','l','l','o','w','o','r','d'};
       int count=Search.searchArrays(arrays, 'u');
       System.out.println(count);
        }
public static int searchArrays(char arrays[],char array){
         int count=0;
         if(arrays==null){
                 new IllegalArgumentException();
         }
         for(int i=0;i<arrays.length;i++){
                 if(arrays[i]==array)
                         count=i;
                 else
                        count=-1;
         }
         return count;
}
}
这道题的题意是在一个方法中来检索自定字符的位置,如果存在择返回字符在数租中的下标,如果不存在则返回-1,现在问题是,为什么存在也返回-1,不存在也返回-1

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 我测试了,返回-1的。

查看全部评分

6 个回复

倒序浏览
在count=i;后加一个BREAK;

当检索到之后就不要在循环了  
回复 使用道具 举报
你都检索到了还要循环,到最后得出的就是-1    我已经对你的代码测试了   加完后正常!

评分

参与人数 1黑马币 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
class Search{
        public static void main(String[] args) {
       char arrays[]=new char[]{'h','e','l','l','o','w','o','r','d'};
       int count=searchArrays(arrays, 'w');
       System.out.println(count);
        }
public static int searchArrays(char arrays[],char array){
         int count=0;
         if(arrays==null){
                 new IllegalArgumentException();
         }
         for(int i=0;i<arrays.length;i++){
                 if(arrays[i]==array)
                       return  count=i;
         }
         return -1;
}
}

评分

参与人数 1技术分 +2 黑马币 +2 收起 理由
admin + 2 + 2 赞一个!

查看全部评分

回复 使用道具 举报
呵呵,谢谢啊,我真大意
回复 使用道具 举报
帮你改过的代码 ..你对照下
回复 使用道具 举报
常文艺 黑马帝 2011-11-9 12:24:13
7#
范龙彬 发表于 2011-11-9 11:32
class Search{
        public static void main(String[] args) {
       char arrays[]=new char[]{'h', ...

还是中级黑马厉害
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马