黑马程序员技术交流社区

标题: 菜鸟问题 [打印本页]

作者: 贺洪京    时间: 2011-11-9 11:08
标题: 菜鸟问题
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
作者: 海林    时间: 2011-11-9 11:29
在count=i;后加一个BREAK;

当检索到之后就不要在循环了  

作者: 海林    时间: 2011-11-9 11:30
你都检索到了还要循环,到最后得出的就是-1    我已经对你的代码测试了   加完后正常!
作者: 范龙彬    时间: 2011-11-9 11:32
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;
}
}
作者: 贺洪京    时间: 2011-11-9 11:33
呵呵,谢谢啊,我真大意
作者: 范龙彬    时间: 2011-11-9 11:33
帮你改过的代码 ..你对照下
作者: 常文艺    时间: 2011-11-9 12:24
范龙彬 发表于 2011-11-9 11:32
class Search{
        public static void main(String[] args) {
       char arrays[]=new char[]{'h', ...

还是中级黑马厉害




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2