说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

调用函数出错,请各位指点,谢谢!!!!!

编辑:说三道四文库 发布时间:2018-08-18 04:49
HTML文档下载 WORD文档下载 PDF文档下载
调用折半查找函数:
public class  binary
{
int a(int x,int v[],int n)
{
int low,high,mid;
low=0;
high=n-1;
while(low<=high)
{
mid=(low+high)/2;
if (x<v[mid])
high=mid-1;
else if (x>v[mid])
low=mid+1;
else
return(mid);
}
return(-1);
}
public static void main(String[] args) 
{


int b[] = {1,2,3,4,5,6,7,8,9,10};
int i=0;
int c=1,d=9;
i=a(c,b,d);

System.out.println(i);


}
}
编译错误:
binary.java:27:non-static method a(int,int[],int) cannot be referenced from a static context
                         i=a(c,b,d);
1 error
请问是什么错误,如何改正,谢谢!!!
静态方法中调用得方法必须也是静态得.
把方法a改为静态方法试试看!
谢谢,成功了
为什么呢?
因为静态方法中只能直接操作静态函数和静态成员变量
这个时候你应该先生成一个binary的实例,在调用这个实例的a()方法:
binary bi = new binary();
bi.a(c, b, d);

备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘