Java 显示错误。我想从If(){}返回值
这是我的二进制搜索程序。我正在搜索Java 显示错误。我想从If(){}返回值,java,Java,这是我的二进制搜索程序。我正在搜索Item=a[4]=5。如何从while循环中存在的if语句返回值,而不在循环外声明return语句 package Array; class myArray { int a[]= {1,2,3,4,5,6,7,8,9,10}; //this block is only for printing the array { for(int i=0; i<=9;i++) { Sys
Item=a[4]=5
。如何从while循环中存在的if语句返回值,而不在循环外声明return语句
package Array;
class myArray
{
int a[]= {1,2,3,4,5,6,7,8,9,10};
//this block is only for printing the array
{
for(int i=0; i<=9;i++)
{
System.out.println(a[i]);
}
}
public int LocationFinder()
{
int Start=a[0],End=a[9],Item=a[4],loc=0;
while(Start<=End)
{
int mid=(Start+End)/2;
if(Item==mid)
{
Item=loc;
return loc; // <-- I want to return from here
}
else if(Item>mid)
{
Start=mid+1;
}
else
End=mid-1;
}
}
封装阵列;
类myArray
{
int a[]={1,2,3,4,5,6,7,8,9,10};
//此块仅用于打印阵列
{
对于(int i=0;i您的方法应如下所示:
使用索引:
public int LocationFinder()
{
int Start=0,End=arr.length - 1,Item=a[4];
//Item = key
while(Start<=End)
{
int mid=Start + (End-Start)/2;
//Checking if item is present at mid
if(arr[mid]==Item)
{
return mid; //returning the index
}
//if item is greater, than ignore the left side
else if(arr[mid]<Item)
{
Start=mid+1;
}
//if item is smaller, than ignore the right side
else
End=mid-1;
}
//returning -1 if the value is not found
return -1;
}
public int LocationFinder()
{
int Start=0,End=arr.length-1,Item=a[4];
//项=键
虽然(开始你得到了什么错误?包括日志或堆栈跟踪。首先你缺少return
,这甚至不会编译。如果Start>End
,会发生什么情况?while
循环结束,方法返回…..什么?!?这是二进制搜索程序,我如何从if语句返回值t???Title说“Error is show”,但实际上并没有向我们显示得到的错误,这类似于“此方法必须返回int类型的结果”,因为循环后没有return
语句,循环可以结束,那么返回值是多少?基本上,在第一个if语句中,写“return mid”谢谢,这对我来说是更多的帮助,谢谢you@ShahirZain我总是乐于帮助人们,当你遇到问题时,我会问更多的问题。是的,我还有另一个问题…我如何在没有访问修饰符的情况下使用接口方法???@ShahirZain看到了这一点:并从tuotrialpoint学习OOP和Java的基础知识,以及当你在编码,然后把它和代码一起发布在stackoverflow上,这样你就可以得到帮助了!
public int LocationFinder()
{
int Start=arr[0],End=arr[length - 1],Item=a[4];
//Item = key
while(Start<=End)
{
int mid=(Start + End)/2;
//Checking if item is present at mid
if(arr[mid]==Item)
{
return mid; //returning the index
}
//if item is greater, than ignore the left side
else if(arr[mid]<Item)
{
Start=mid+1;
}
//if item is smaller, than ignore the right side
else
End=mid-1;
}
//returning -1 if the value is not found
return -1;
}