我这样写的,不懂打印的为什么还是原来的数组,请大神指教。
class ArrayTest5
{
public static void main(String[] args)
{
int[] arr={1,2,3,4,5,6,7,8,9};
int index = halfSearch(arr,8);
arr[index]=8;
printArray(arr);
}
public static int halfSearch(int[] arr,int key)
{
int min,mid,max;
min=0;
max=arr.length-1;
mid=(min+max)/2;
while(arr[mid]!=key)
{
if(arr[mid]<key)
min=mid+1;
else if(arr[mid]>key)
max=mid-1;
if (min>max)
return min;
mid=(min+max)/2;
}
return mid;
}
public static void printArray(int[] arr)
{
for (int x=0;x<arr.length ;x++ )
{
if (x!=arr.length-1)
System.out.print(arr[x]+",");
else
System.out.println(arr[x]);
}
}
} |