我正在使用Java 2平台来练习不同的算法。我收到两个错误,我认为第一个是我从arrayList[]
传递整数“5”并收到错误。第二个问题是,当我调用binarySearch();
时,我在main方法中遇到错误。我是否需要将arrayList作为binarySearch(arrayList)
的参数?任何帮助,将不胜感激。
import java.util.ArrayList;
public class BinarySearch {
int arrayList[]={1,2,3,4,5,6,7,8,9};
public static int binarySearch(int[] arrayList[],int 5)
{
int low = 0;
int high = arrayList.length - 1;
int mid = 0;
while(low<=high)
{
mid = (low+high)/2;
if(arrayList[mid].compareTo(searchObj)<0)
low = mid + 1;
else if (arrayList[mid].compareTo(searchObj)>0)
{
high = mid -1;
}
else
return mid;
}
return -1;
}
public static void main(String args[])
{
binarySearch();
}
}
答案 0 :(得分:1)
在声明BinarySearch方法时,你需要这个:
public static int binarySearch(int[] arrayList,int searchObj){
///rest of your method
也就是说,您正在arrayList中搜索searchObj。
然后调用方法,为arrayList和searchObj提供值。像这样:
binarySearch(arrayLIst, 5);
答案 1 :(得分:0)
正确的函数语法是
public static int binarySearch(ArrayList arrayList,int searchbj = 5)
使用ArrayList时也可以使用
arrayList.get(指数)
用于检索
arrayList.set(指数)
用于设置