binarySearch方法问题,不接受int参数

时间:2010-12-19 14:41:36

标签: java

我正在使用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();

 }

}

2 个答案:

答案 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(指数)

用于设置