Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java binarySearch方法问题,不接受int参数_Java - Fatal编程技术网

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

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,

我正在使用Java2平台来练习不同的算法。我得到两个错误,我认为第一个错误是我从
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)等等,我做了一些更改,代码现在可以运行了,但是当我插入数组之外的参数时,我得到了一些我不理解的数字。