黑马程序员技术交流社区

标题: Return返回值的用法。 [打印本页]

作者: 毁天灭地小菜鸟    时间: 2017-6-7 18:02
标题: Return返回值的用法。
刚刚自学到面向对象的概念,怎么调用方法,但是Return的用法不会用,求大神们分析下是哪里出了问题。

public class Return001 {

        public static void main(String[] args) {
                int b=Ka();
                        System.out.println(b);
        }
        public static int Ka(){
                int[] b={1,2,3,4,5,6};
                int a=b[4];
                for(int i=0;i<b.length;i++){
                        if(b[i]==a);
               
                                return i;
                }
        }
}
编译完报错,为:Return001.java:16: 错误: 缺少返回语句
        }
        ^
1 个错误

作者: 毁天灭地小菜鸟    时间: 2017-6-7 18:03
忘了说,是Java
作者: 黎明如约而至    时间: 2017-6-8 13:28
方法返回值为int则该方法必须返回一个int值,if语句里的return只有满足条件才会执行,所以不能算的。在方法结束之前添加一个return ,或者添加上else,在里边也return个值。

作者: huhu1995    时间: 2017-6-8 23:39
在循环外面定义一个int 变量赋值为0; 循环里面是不能直接return的,那只是跳循环,在循环里面用定义了的int变量接收i的值。在循环外面return定义的int变量,就可以了

作者: huhu1995    时间: 2017-6-8 23:46
还有就是你循环中if后面那个分号很骚气吖

作者: 泥奏凯    时间: 2017-6-10 06:32
return直接跳出方法

作者: 也得舍得    时间: 2017-6-10 13:05
return语句,中的返回值,在编译器编译时,必须可见且与方法上的返回值类型一致。所以这道题为求取与a的值相等的数组索引,应再定义一个,int 变量index,if后应该是if(b[i]==a)index=i;然后将return index;放到最外边那个大括号里,让返回值可见
作者: unscdf117    时间: 2017-6-10 17:45
if的作用域 你看看 那个分号是什么鬼
作者: 醉酒思凡尘    时间: 2017-6-10 17:56
前两天我同桌也是, if后来了个骚气的 ; 没想到你这也是....习惯了,顺手加了个
作者: 烽火狼烟    时间: 2017-6-10 22:22
返回值为void类型的,不需要return;直接调用方法就OK
作者: as2991    时间: 2017-6-25 21:27
if语句后面加分号, 这波操作很骚
作者: QQ1002730074    时间: 2017-6-29 00:15
确实,if的尾巴很眨眼啊,还有,方法调用不需要new出来对象么。

作者: 程序员小徐    时间: 2017-7-9 22:20
为什么我在编译的时候这句代码,public static int Ka() 出错了




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