Java binarySearch方法问题,不接受int参数
我正在使用Java2平台来练习不同的算法。我得到两个错误,我认为第一个错误是我从Java binarySearch方法问题,不接受int参数,java,Java,我正在使用Java2平台来练习不同的算法。我得到两个错误,我认为第一个错误是我从arrayList[]传递整数“5”,并得到一个错误。第二个问题是,当我调用binarySearch()时,main方法中出现了一个错误。我是否需要将arrayList作为binarySearch(arrayList)的参数?任何帮助都将不胜感激 import java.util.ArrayList; public class BinarySearch { int arrayList[]={1,2,3,4,5,
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();
}
}
import java.util.ArrayList;
公共类二进制搜索{
int arrayList[]={1,2,3,4,5,6,7,8,9};
公共静态int二进制搜索(int[]数组列表[],int 5)
{
int低=0;
int high=arrayList.length-1;
int-mid=0;
在声明BinarySearch方法时(低),您需要:
public static int binarySearch(int[] arrayList,int searchObj){
///rest of your method
也就是说,您正在arrayList中搜索searchObj
然后,要调用该方法,请为arrayList和searchObj提供值。如下所示:
binarySearch(arrayLIst, 5);
在声明BinarySearch方法时,您需要:
public static int binarySearch(int[] arrayList,int searchObj){
///rest of your method
也就是说,您正在arrayList中搜索searchObj
然后,要调用该方法,请为arrayList和searchObj提供值。如下所示:
binarySearch(arrayLIst, 5);
函数的正确语法是
公共静态整数
二进制搜索(ArrayList ArrayList,int
searchbj=5)
同样在使用ArrayList时使用
arrayList.get(索引)
检索
arrayList.set(索引)
设置函数的正确语法是
公共静态整数
二进制搜索(ArrayList ArrayList,int
searchbj=5)
同样在使用ArrayList时使用
arrayList.get(索引)
检索
arrayList.set(索引)
对于设置您需要购买一本好的初学者Java书籍,解释方法定义和方法调用之间的差异。您发现有什么有用的吗?您需要购买一本好的初学者Java书籍,解释方法定义和方法调用之间的差异。您发现有什么有用的吗?您需要声明中没有[]的arrayList。谢谢@mr.Flamer。这是您的复制和粘贴。谢谢,这是我所需要的。不幸的是,它看起来无法将compareTo方法与int一起使用,因此我需要进行一些修改以使binarySearch工作。您只需使用if(arrayList[mid]>searchObj)等等。我做了一些更改,代码现在可以运行了,但是当我插入数组之外的参数时,我得到了一些我不理解的数字。您需要不带[]的arrayList在声明中。谢谢@mr.Flamer。这是您的复制和粘贴。谢谢,这是我所需要的。不幸的是,它看起来无法将compareTo方法与int一起使用,因此我需要进行一些修改以使binarySearch正常工作。您只需使用if(arrayList[mid]>searchObj)等等,我做了一些更改,代码现在可以运行了,但是当我插入数组之外的参数时,我得到了一些我不理解的数字。