黑马程序员技术交流社区

标题: 哪位大神可以说一下整个程序的运行过程,谢谢!!! [打印本页]

作者: 情祭    时间: 2013-12-21 17:33
标题: 哪位大神可以说一下整个程序的运行过程,谢谢!!!
本帖最后由 情祭 于 2013-12-22 21:26 编辑


class ArrayDmeo1{
        public static void main(String[] args){
                int[] arr={1,2,5,6,4,8,9};//建立数组
                int max = getMax(arr);  //调用getMax方法出入数组,并将返回值赋予变量max
                System.out.println("max="+max);//打印max
}
        public static int getMax(int[] arr){//建立getMax方法
                int max =arr[0];//用一个变量max记录,传入的数组的第一个元素
                for(int x=1;x<arr.length;x++){//遍历数组
                        if(arr[x]>max)//若果某个元素大于max
                                max=arr[x];//则让max记录该元素
                }
                return max;//最后返回这个max所记录的元素
        }
}
作者: yuehaotian    时间: 2013-12-21 18:05
哥们,这程序 需要超强纠错啊,呵呵
我先给你指出错误:
class ArrayDmeo1{
        public static void main()String[]args{<---主函数写错了
                int [] arr={1,2,5,6,4,8,9};  
                int max=getMax(arr);
                system.out.println("max="+max); <--打印函数写错了, System 不是 system
        }
        public static int getMax(int [] arr){
                int max =arr[0];
                for(int x=1;x<=arr.length;x++)[ <---指针越界  x < arr.length  不能<=  ,因为数组是从开始的
                        if(arr[x]>max)
                                max=arr[x];
                }
                return max;
                }
}

改------------------------
class ArrayDmeo1{
        public static void main(String[] args){
                int[] arr={1,2,5,6,4,8,9};//建立数组
                int max = getMax(arr);  //调用getMax方法出入数组,并将返回值赋予变量max
                System.out.println("max="+max);//打印max
}
        public static int getMax(int[] arr){//建立getMax方法
                int max =arr[0];//用一个变量max记录,传入的数组的第一个元素
                for(int x=1;x<arr.length;x++){//遍历数组
                        if(arr[x]>max)//若果某个元素大于max
                                max=arr[x];//则让max记录该元素
                }
                return max;//最后返回这个max所记录的元素
        }
}
作者: 776699    时间: 2013-12-21 18:44
顶一个,
作者: 情祭    时间: 2013-12-21 18:49
额。。。谢谢,我以后会注意的!对了,其实我主要是对: int max = getMax(arr); 这是调用getMx()这个方法我知道,可是里面怎么还要写应该arr呢?还有, return max,这是返回记录的max我知道,可是它返回到哪里去了呢?
作者: 情祭    时间: 2013-12-21 18:51
yuehaotian 发表于 2013-12-21 18:05
哥们,这程序 需要超强纠错啊,呵呵
我先给你指出错误:
class ArrayDmeo1{

额。。。谢谢,我以后会注意的, f非常感谢你指出我的错误!对了,其实我主要是对: int max = getMax(arr); 这是调用getMx()这个方法我知道,可是里面怎么还要写应该arr呢?还有, return max,这是返回记录的max我知道,可是它返回到哪里去了呢?

作者: yuehaotian    时间: 2013-12-21 19:31
情祭 发表于 2013-12-21 18:51
额。。。谢谢,我以后会注意的, f非常感谢你指出我的错误!对了,其实我主要是对: int max = getMax(arr ...

第一为什么方法里边也写arr呢?---- 因为你方法中声明的数组参数变量名 是 arr ,你可以改成x , y , haha 随意
                                      但是改完后,方法内就要用相应的变量名了

第二返回值返到哪里了呢?  -----返回给调用者了。  那么谁是调用者呢---getMax(arr);就是调用者.  如果返回的是1 则  getmax(arr)就表示1                                        如果返回2 ,则getmax(arr)就表示2


如:            return 6;
                 getmax(arr)  =  6;
int max  =  getmax(arr) = 6;

明白了吗?

作者: 情祭    时间: 2013-12-22 21:24
yuehaotian 发表于 2013-12-21 19:31
第一为什么方法里边也写arr呢?---- 因为你方法中声明的数组参数变量名 是 arr ,你可以改成x , y , haha  ...

明白了,谢谢啊,好人一生平安!!!:kiss:
作者: 情祭    时间: 2013-12-22 21:27
yuehaotian 发表于 2013-12-21 19:31
第一为什么方法里边也写arr呢?---- 因为你方法中声明的数组参数变量名 是 arr ,你可以改成x , y , haha  ...

对了,这个怎么设置提问结束啊???好像设置不了 啊???
作者: yuehaotian    时间: 2013-12-22 21:28
情祭 发表于 2013-12-22 21:24
明白了,谢谢啊,好人一生平安!!!

你为什么要诅咒我!!为什么!!!你不知道当个坏蛋本来就是一件不容易的是吗!!!!

比我回敬你一句 : very will

哈哈哈哈




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