在while循环结束后加一行:return 0;(或别的int类型的值)
就可以了。需要返回值的方法,一定要注意让返回语句覆盖每一个分支,直到方法的最后,否则就会报你说的那种错。
由于你方法体中存在三个if语句块,并没有else语句块,因此程序判断的时候可能都没进入if语句块,因此可能执行了while,但是你while执行完之后并没有返回int类型的结果,因此提示你需要提供int类型的返回值
从代码可以看出,-1为默认的返回值,从程序的执行逻辑可以推断,当low<=high条件不成立时,函数没有返回值,所以要在while语句块外层添加return -1;
在While语句结束后加一个return语句,返回一个整数,Java编译的时候会认为While循环有可能不会进入而结束程序,但是这种情况下没有返回值所以报错
这个错误的意思是方法必须返回int 类型的返回值,所以把返回值改为int类型的