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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

毁天灭地小菜鸟

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© 毁天灭地小菜鸟 初级黑马   /  2017-6-7 18:02  /  1601 人查看  /  12 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

刚刚自学到面向对象的概念,怎么调用方法,但是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 个错误

评分

参与人数 1黑马币 +1 收起 理由
yushulinfeng + 1 有没有想过这个问题,你如果程序不执行for.

查看全部评分

12 个回复

倒序浏览
忘了说,是Java
回复 使用道具 举报
方法返回值为int则该方法必须返回一个int值,if语句里的return只有满足条件才会执行,所以不能算的。在方法结束之前添加一个return ,或者添加上else,在里边也return个值。
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
在循环外面定义一个int 变量赋值为0; 循环里面是不能直接return的,那只是跳循环,在循环里面用定义了的int变量接收i的值。在循环外面return定义的int变量,就可以了
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
还有就是你循环中if后面那个分号很骚气吖
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
回复 使用道具 举报
return语句,中的返回值,在编译器编译时,必须可见且与方法上的返回值类型一致。所以这道题为求取与a的值相等的数组索引,应再定义一个,int 变量index,if后应该是if(b[i]==a)index=i;然后将return index;放到最外边那个大括号里,让返回值可见
回复 使用道具 举报
if的作用域 你看看 那个分号是什么鬼
回复 使用道具 举报
前两天我同桌也是, if后来了个骚气的 ; 没想到你这也是....习惯了,顺手加了个
回复 使用道具 举报
返回值为void类型的,不需要return;直接调用方法就OK
回复 使用道具 举报
if语句后面加分号, 这波操作很骚
回复 使用道具 举报
确实,if的尾巴很眨眼啊,还有,方法调用不需要new出来对象么。
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
为什么我在编译的时候这句代码,public static int Ka() 出错了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马