关于返回值的问题,如何解决?

public class Hello {
public static void main(String []args) {
char[] find0=new char[]{'c','b','a','d','e'};
A02 find=new A02();
int find1=find.find('a', find0);
System.out.println(find1);
}
}
class A02{
int find(char b,char[] a)
{
for(int i=0;i<a.length;i++)
if(b==a[i])
return i;
else
return -1;
}
}
编译器报方法必须返回一个int类型的结果 但是我return的i和-1他也不是其他类型的啊 所以我不是很明白是哪里出了问题

试试1)把else return -1;删了,在for循环后加上return -1; 2) find 函数一开始就定义一个int变量初始化为-1,for循环里如果满足条件就把i赋给变量并break,for循环后return 一开始定义的变量

将else删除即可,如下:

int find(char b,char[] a)  {
     for(int i=0;i<a.length;i++)
         if(b==a[i])
             return i;
             return -1;
}