黑马程序员技术交流社区

标题: 用方法返回数组,好难啊!!敲了好几遍还是没弄懂 [打印本页]

作者: 海乃百川    时间: 2016-8-14 21:30
标题: 用方法返回数组,好难啊!!敲了好几遍还是没弄懂

用方法返回数组到底该怎么返回呢?还是直接在主函数中打印?不返回?
求大神支招!!!



作者: Hacker_    时间: 2016-8-14 21:42
你是需要循环遍历还是,直接打印结果?如果不返回的话直接打印就不需要这么多的代码量了   更何况遍历不需要返回吧  这样能减少代码量   也能提高你的代码做功效率   希望能帮到你
作者: 敲敲乐z    时间: 2016-8-14 21:59
返回值类型应该不是int吧,其实我觉得应该整个void就行了
作者: 欧文略    时间: 2016-8-14 22:19
你返回值类型是int的,只能返回int类型的数据, 你返回的是一个int数组,所以会报错,把返回值类型int改为void ,不需要返回
作者: tiamo305    时间: 2016-8-14 22:54
本帖最后由 tiamo305 于 2016-8-14 22:55 编辑

class DaoXuBianLi {
        public static void main(String[] args) {
                int[] arr ={1,2,3,4,5,6};
                daoXu(arr);                                        //先调用 倒序方法
                bianLi(arr);                                        //调用遍历方法
        }


        public  static void daoXu(int[] a){                        //倒序方法
                for (int x = 0;x < a.length/2 ;x++ ) {    //  倒序
                        int temp = a[x];                        //第三方 变量,先存下a[0];
                        a[x]=a[a.length-1-x];                 //尾部 换到首部  交换
                        a[a.length-1-x]=temp;                 //把第三方的首部给 尾部
                }
        }


        public static void bianLi(int[] b){        //遍历方法
                for (int y = 0;y<b.length;y++ ) {
                        System.out.print(b[y]+"  ");
                }
        }
}

作者: qetu001212    时间: 2016-8-14 23:03
首先,你这个方法不需要返回值,因为数组是引用类型,交换的是地址值
其次,这个方法如果一定要返回一个值的话,你要在主方法中用相应的数据类型接收它
作者: li--yong    时间: 2016-8-14 23:11
方法声明 第一个int后面要加[],返回值不需要再声明类型,直接用arr就行,其实最好不要返回值
作者: 冯潜001    时间: 2016-8-14 23:47
先把返回值搞明白
作者: accomplonely    时间: 2016-8-15 01:14
你的基础没搞明白的。所以你的方法都是错的
作者: 海乃百川    时间: 2016-8-15 12:58
tiamo305 发表于 2016-8-14 22:54
class DaoXuBianLi {
        public static void main(String[] args) {
                int[] arr ={1,2,3,4,5,6};

好的 我现在终于看懂了谢谢你了
作者: 海乃百川    时间: 2016-8-15 12:59
冯潜001 发表于 2016-8-14 23:47
先把返回值搞明白

哦知道了
作者: 海乃百川    时间: 2016-8-15 13:01
qetu001212 发表于 2016-8-14 23:03
首先,你这个方法不需要返回值,因为数组是引用类型,交换的是地址值
其次,这个方法如果一定要返回一个值 ...

明白了!!!
作者: 海乃百川    时间: 2016-8-15 13:02
li--yong 发表于 2016-8-14 23:11
方法声明 第一个int后面要加[],返回值不需要再声明类型,直接用arr就行,其实最好不要返回值 ...

好像是这么回事,我明白了
作者: 海乃百川    时间: 2016-8-15 13:03
敲敲乐z 发表于 2016-8-14 21:59
返回值类型应该不是int吧,其实我觉得应该整个void就行了

void也行但是代码量太大了
作者: 海乃百川    时间: 2016-8-15 13:04
Hacker_ 发表于 2016-8-14 21:42
你是需要循环遍历还是,直接打印结果?如果不返回的话直接打印就不需要这么多的代码量了   更何况遍历不需要 ...

恩 我现在明白了 谢谢你
作者: yq648915965    时间: 2016-8-15 14:43
虽然还没学到,但是我还是捡一个币先
作者: x55555lg    时间: 2016-8-15 15:30
引用类型的对象例如数组,集合可以不返回
作者: BlackTiger    时间: 2016-8-15 16:55
妹子的号召力果然很强
作者: cc478508847    时间: 2016-8-15 22:39
return arr;
作者: accomplonely    时间: 2016-8-15 23:37
accomplonely 发表于 2016-8-15 01:14
你的基础没搞明白的。所以你的方法都是错的

你不要着急,多看看这些基本的规则就可以了
作者: itcoder    时间: 2016-8-16 21:39
把返回值int改成int[],return后面删掉int[],就行了
作者: Hacker_    时间: 2016-8-16 22:05
海乃百川 发表于 2016-8-15 13:04
恩 我现在明白了 谢谢你

恩恩   加油   好好学习  一起努力
作者: 海乃百川    时间: 2016-8-16 22:59
accomplonely 发表于 2016-8-15 23:37
你不要着急,多看看这些基本的规则就可以了

哦  好的 看来基础还是很重要的
作者: bin931207    时间: 2016-8-16 23:38
多看冯大神的视频就好了,他解说得挺好挺详细的
作者: 海乃百川    时间: 2016-8-17 21:42
bin931207 发表于 2016-8-16 23:38
多看冯大神的视频就好了,他解说得挺好挺详细的

好的,谢谢推荐!!!
作者: A0华盛商贸总部    时间: 2016-8-17 23:11
直接打印返回没用啊
作者: talons    时间: 2016-8-18 10:20
看来问题已经解决了,捡个币走人
作者: 海乃百川    时间: 2016-8-18 20:59
talons 发表于 2016-8-18 10:20
看来问题已经解决了,捡个币走人

哈哈我回复一下也是一个黑马币
作者: 菜菜_f9490    时间: 2016-8-18 21:02
你的返回值 怎么能是int呢 你不是返回一个数组么
作者: 菜菜_f9490    时间: 2016-8-18 21:04
你的返回值 怎么能是int呢 你不是返回一个数组么  如果只是打印的话  那么返回值就定义void
作者: talons    时间: 2016-8-18 21:06
海乃百川 发表于 2016-8-18 20:59
哈哈我回复一下也是一个黑马币

这。。。。真假,那不是好爽。
作者: 胡eason    时间: 2016-8-18 21:14
加油!加油!加油!加油!
作者: 海乃百川    时间: 2016-8-19 07:41
胡eason 发表于 2016-8-18 21:14
加油!加油!加油!加油!

加油努力,共同进步
作者: 海乃百川    时间: 2016-8-19 07:43
菜菜_f9490 发表于 2016-8-18 21:04
你的返回值 怎么能是int呢 你不是返回一个数组么  如果只是打印的话  那么返回值就定义void ...

恩现在讲了我已经懂了
作者: 海乃百川    时间: 2016-8-19 07:44
talons 发表于 2016-8-18 21:06
这。。。。真假,那不是好爽。

哈哈哈不是吗回复就有币




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